PostgreSQL 存储过程中 "DECLARE" 处或附近的语法错误
Syntax error at or near "DECLARE" in PostgreSQL stored procedure
我正在 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;
$$;
我正在 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;
$$;