[英]I'm trying to write a function for postgresql to do some string manipulation
該函數的目的是獲取一個字符串,如果它包含括號,則刪除括號中的所有內容。 這是我所擁有的:
CREATE FUNCTION clearmethodparams(IN qname text) RETURNS text AS
$BODY$
IF position($o$($o$ in qname) = 0 THEN
return qname;
ELSE
return substring(qname from 0 for position($p$($p$ in qname)) || $c$)$c$;
END IF;
$BODY$
LANGUAGE sql VOLATILE;
它一直給我的錯誤是
錯誤:“ IF”處或附近的語法錯誤第3行:IF位置(qname中的$ o $($ o $)= 0 THEN
我一直在尋找一些有關函數語法的好的文檔,但是到目前為止,沒有任何幫助。
您需要將函數從SQL函數 “轉換”為PL / pgSQL之一-在CREATE FUNCTION語句中將“ LANGUAGE sql”替換為“ LANGUAGE plpgsql”。 另外,您需要將代碼“包裝”在適當的塊中 。
OTOH,您可以使用SQL函數來實現相同的功能,例如,使用一些聰明的CASE
用戶或類似用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.