PostgreSQLチートシート

PostgreSQLチートシート

インサート文でサロゲートキーは省略できる

insert into テーブル名 (id,….) values (1,…)

と言うように書くこともできますが、idがシーケンスオブジェクトの場合はid指定は省略可能です。

明示したい場合はnextval(“hoge”)は関数なので、values句にnextval(“hoge”)と書きます。

insert into テーブル名 (id,….) values (nextval(“hoge”),…)

※select nextval(“hoge”)ではない

シーケンスオブジェクトの次の値

select nextval(“シーケンスオブジェクト名”)で取得ができます。

再度実行すると、インクリメントされた値が取得出来ます。

NVLの代わりにCOALESCEを使う

PostgreSQLにはOracldeで言うNVLがないです。代わりにCOALESCEを使います。

PostgreSQL9.5からmerge文が使える

ON CONFLICT句を使用すればINSERT、コンフリクトしたら何もしない、もしくはアップデート、などのmerge文が実行できます。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA