postgres我很新.尝试运行以下脚本时出现此错误:
CREATE OR REPLACE FUNCTION xyz(text) RETURNS INTEGER AS
'DECLARE result int;
BEGIN
SELECT count(*) into result from tbldealercommissions
WHERE
txtdealercode = $1;
if result < 1 then returns 1;
else returns 2 ;
end if;
END;
'
LANGUAGE sql VOLATILE;
Run Code Online (Sandbox Code Playgroud)
错误是
ERROR: syntax error at or near "int"
LINE 3: 'DECLARE result int;
Run Code Online (Sandbox Code Playgroud)
不确定导致此错误的原因.任何帮助表示赞赏.
这不合适:
Run Code Online (Sandbox Code Playgroud)LANGUAGE sql
改用它:
Run Code Online (Sandbox Code Playgroud)LANGUAGE plpgsql
您尝试使用的语法不是纯SQL语言,而是程序PL/pgSQL语言.在PostgreSQL中,你可以安装不同的语言,而PL/pgSQL在这方面只是一个小问题.这也意味着您可能会收到错误消息,即未安装此语言.在那种情况下使用
CREATE LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
它激活了它.根据PostgreSQL的版本,您可能需要超级用户权限才能执行此步骤.
玩得开心.
| 归档时间: |
|
| 查看次数: |
12894 次 |
| 最近记录: |