如何解决PostgreSQL 存储过程中“DECLARE”处或附近的语法错误
我正在 PostgreSQL 9.6 中创建存储过程,但出现语法错误。我是 PostgreSQL 的新手。我的代码中是否有更多语法错误?
CREATE OR REPLACE FUNCTION DBO.Proc_Activity()
DECLARE
a_sActivityName TYPE VARCHAR(30);
a_sActivityDescription TYPE VARCHAR(2000);
a_sUserName TYPE VARCHAR(30);
a_sErrDesc TYPE VARCHAR(500);
RETURNS VOID AS $$
BEGIN
insert into Activity_Log (sActivityName,sActivityDescription,sError,dCreatedDate,sCreatedBy)values( a_sActivityName,a_sActivityDescription,a_sErrDesc,NOW(),a_sUserName)
END;
$$ LANGUAGE plpgsql;
还有:我如何调用这个程序来测试它是否有效?
谢谢
解决方法
像这样声明你的函数
CREATE OR REPLACE FUNCTION Proc_Activity()
RETURNS VOID
LANGUAGE plpgsql
AS $$
DECLARE
a_sActivityName VARCHAR;
a_sActivityDescription VARCHAR;
a_sUserName VARCHAR;
a_sErrDesc VARCHAR;
BEGIN
insert into Activity_Log (sActivityName,sActivityDescription,sError,dCreatedDate,sCreatedBy)values( a_sActivityName,a_sActivityDescription,a_sErrDesc,NOW(),a_sUserName);
END;
$$;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。