web-dev-qa-db-ja.com

RETURNING句を使用した変数値の割り当て

これを実行しようとしましたが、それは構文エラーです。何が間違っていますか?

declare myid := insert into oameni values(default,'lol') returning id;

私のテーブル:

create table oameni
(
id serial primary key,
name varhcar(10)
);
47
Omu

変数に返される値を設定するには、RETURNINGでINTO句を使用する必要があります。

DECLARE myid OAMENI.id%TYPE;

INSERT INTO oameni 
VALUES 
  (default,'lol') 
RETURNING id INTO myid;

変数のデータ型も指定する必要があります。 postgresqlは%TYPEと%ROWTYPEをサポートしています を見てうれしいです。

75
OMG Ponies