Postgres SQL - Предложение вывода в скалярную переменную - PullRequest
0 голосов
/ 25 марта 2020

Для приведенного ниже кода , который находится в SQL, сервер необходимо преобразовать в PostgresSQL. Я попробовал то же самое, что мы делаем на SQL сервере, но он не работает.

declare @ID table (ID int)

insert into MyTable(ID)
output inserted.ID into @ID
values (1)

Так что приведенный выше код хорошо работает на SQL сервере, но когда дело доходит до Postgres, он не работает ,

Может ли кто-нибудь помочь в преобразовании этого кода в Postgres? Также может кто-нибудь помочь мне получить образец SP с параметрами in и out в Postgres, пожалуйста.

1 Ответ

1 голос
/ 25 марта 2020

Предполагая, что является частью хранимой функции (или процедуры), написанной на PL / pg SQL, вы можете использовать возвращающее предложение , как описано в руководстве :

....
declare
  l_generated_id int;
begin
  ...
  insert into my_table(id) 
  values (1)
  returning id into l_generated_id;
  ...
end;

Но я должен признать, что это кажется довольно ненужным, поскольку вставленное значение жестко закодировано в операторе INSERT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...