Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

よくあるパターンですが、あるテーブルを INSERT した直後に、関連するテーブルにもデータを INSERT する必要があって、最初に INSERT したテーブルのキー項目の値が取りたいんだけど、そのキー項目はシーケンスで設定している。みたいな場合の話です。 currval 関数を使って次のような感じにできます。 -- データを INSERT INSERT INTO hoge (hoge_no, hoge_text) VALUES (nextval('hoge_no_seq'), 'ほげげ'); -- 直前のシーケンス値を取得 SELECT currval('hoge_no_seq'); currval 関数は同一セッション中で設定された直前のシーケンス値を返すことを保証しているので、他のプログラムからも nextval がガンガン使われているような環境でも、しっかり直前の値を返してくれる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く