问题描述
我正在 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;
$$;