【发布时间】:2017-01-08 18:28:28
【问题描述】:
有人可以礼貌地解释一下这种疯狂吗?
INSERT INTO "dbo"."UserProfile" ("FirstName")
VALUES('John')
RETURNING "UserProfileId" INTO _UserProfileId;
抛出一个模棱两可的引用错误,但是这会正确执行:
INSERT INTO "dbo"."UserProfile" ("FirstName")
VALUES('John')
RETURNING "dbo"."UserProfile"."UserProfileId" INTO _UserProfileId;
_UserProfileId 是一个声明的整数变量。我在手册中找不到对这种语法的任何引用,或者为什么这会以任何方式模棱两可。
【问题讨论】:
-
这是来自 plpgsql 函数定义吗?能否提供一些更完整的sn-ps代码,包括完整的函数定义以及表定义?
-
是的。它是(大)plpgsql 函数中的一个 sn-p。它也不仅仅是 INSERT 语句,而且这个错误出现在其他函数中以及看似随机的方式。它是否与 RETURNS TABLE() 中定义的列名发生冲突?我无法确定确切原因。
-
好吧,我无法重现这个。您必须提供一个最小的完整示例。
标签: postgresql sql-insert plpgsql postgresql-9.3