gpt4 book ai didi

postgresql - 我正在尝试为 postgresql 编写一个函数来进行一些字符串操作

转载 作者:行者123 更新时间:2023-11-29 13:37:52 24 4
gpt4 key购买 nike

该函数的目的是获取一个字符串,如果它包含括号,则删除括号中的所有内容。这是我拥有的:

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;

它一直给我的错误是

ERROR: syntax error at or near "IF" LINE 3: IF position($o$($o$ in qname) = 0 THEN

我一直在努力寻找一些关于函数语法的好文档,但到目前为止没有任何帮助。

最佳答案

您需要“转换”来自 SQL function 的函数到 PL/pgSQL一 - 在您的 CREATE FUNCTION 语句中将“LANGUAGE sql”替换为“LANGUAGE plpgsql”。此外,您还需要将代码“包装”在适当的 block 中。 .

OTOH 您可能可以使用 SQL 函数实现相同的功能,例如与一些聪明的用户 CASE或类似的。

关于postgresql - 我正在尝试为 postgresql 编写一个函数来进行一些字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com