Может кто-то вежливо объяснить эту сумасшедшую?Postgresql - INSERT RETURNING INTO неоднозначная ссылка на колонку
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? Можете ли вы предоставить более полные фрагменты кода, включая полное определение функции, а также определение таблицы? – redneb
Да, это так. Это фрагмент из функции (большого) plpgsql. Это также не просто инструкции INSERT, но эта ошибка появляется и в других функциях, а также, казалось бы, случайными способами. Это как-то сталкивается с именами столбцов, определенными в RETURNS TABLE()? Я не могу сузить точную причину. –
Ну, я не могу воспроизвести это. Вы должны предоставить минимальный полный пример. – redneb