【发布时间】:2019-04-26 01:59:19
【问题描述】:
我是 Postgres 的新手,这个问题让我沮丧了好几个小时。我确信我的语法是正确的,所有参考资料和其他帖子都向我表明它是可以的。拜托,谁能帮帮我!
CREATE OR REPLACE FUNCTION "SomeSchema".insertDataAccessType(IN type_name char varying, IN created_by char varying)
RETURNS SETOF "SomeSchema"."DataAccessTypes" LANGUAGE 'sql' AS
$$
DECLARE newId INTEGER;
BEGIN
INSERT INTO "SomeSchema"."DataAccessTypes"(type_name, created_by)
VALUES (insertDataAccessType.type_name, insertDataAccessType.created_by)
RETURNING id INTO newId;
RETURN QUERY SELECT * FROM "SomeSchema".getdataaccesstypebyid(newId);
END;
$$;
我只是想创建一个插入记录的函数,将新创建的 ID 添加到我声明的变量中,然后对新 ID 进行选择以返回结果集。我得到的只是这个该死的错误信息!
ERROR: syntax error at or near "INTEGER"
LINE 4: DECLARE newId INTEGER;
^
SQL state: 42601
Character: 215
我习惯了 MSSQL,用它来做这些简单的事情要容易得多。我确信这个问题很简单,我错过了作为技术新手,但有人可以指出我正确的方向如何纠正这个问题,因为它让我发疯。
谢谢,
【问题讨论】:
标签: postgresql plpgsql stored-functions