(PostgreSQL)ストアドプロシージャでINSERT文を作る

ストアドでINSERT文を作る

単純なSQLでもできるけど、練習のためストアドで実行する。

 

やりたいこと

USERテーブルのレコードを2倍にするuser_idがプライマリーキー(一意制約)なので、重複しないように値を入れて、レコードを倍にしていく。

INSERT前のデータ

 

書き方

USERテーブルのレコードを2倍にするuser_idがプライマリーキー(一意制約)なので、重複しないように気を付ける。

変数「cnt」 に user_id の最大番号を代入し、INSERTの前に+1することで、値の重複を防いでいる。
「user_cursor」 のレコードを 1行ずつ 「rec」  に入れて、すべてのレコードを取り出すまで処理をLOOPさせる。

実行結果

 

次回は制御文に取り組みたい

今回は以上。次回は制御文を学んで記録する。

コメント

タイトルとURLをコピーしました