インサート結果としてフィールドを返す私はPgsql。機能
INSERT INTO table(id,field) VALUES($id,$value) RETURNING id;
のように、INSERT
結果としてIDを返すことができますが、私はそれを返すと、私の関数に変数に
var = INSERT INTO table(id,field) VALUES($id,$value) RETURNING id;
または
SELECT INTO var INSERT INTO table(id,field) VALUES($id,$value) RETURNING id;
を割り当てることはできません
は機能しません。 どうすればいいですか?
var := (INSERT INTO table(id,field) VALUES($id,$value) RETURNING id);
可読性はもちろん個人的な好みですが、それは明白な割り当てを示しているので、私はこの構文を好き:
INSERT INTO table(id,field)
VALUES($id,$value)
RETURNING id into var;
あなたは 'plpgsql'機能でこれを使用している場合は、[宣言](http://www.postgresql.org/docs/9.4/staticする必要があります/plpgsql-declarations.html)を最初に使用します。 – z0r
psqlで動作しません9.6 – TangMonk
@Wooden本当ですか? v9.6で私のために働く。 –