0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SELECT文でUPDATE文を作成

Posted at

はじめに

SQL文(SELECT文)を実行してSQL文(UPDATE文)を作成します。

SELECTした結果を基にSQLを作成したい場合などに使えます。

前まではEXCELに取り込んでSQLを作成していましたが、これのおかげで手間が減りました。知っていればどうという事はないですが。。

入力

SELECT '今回書きたいこと' FROM table WHERE condition;

出力

?column?
------------------------------------------------------------------------------
UPDATE table2 SET column3 = 'value1_1' WHERE column4 = 'value2_1';
UPDATE table2 SET column3 = 'value1_2' WHERE column4 = 'value2_2';
UPDATE table2 SET column3 = 'value1_3' WHERE column4 = 'value2_3';
....

動作環境

記事作成に利用した環境はPostgreSQLです。
gexecコマンドはPostgreSQL 9.6以上で利用可能です。

どのように?

以下のようにSELECTリスト(SELECTとFROMの間にあるキーワード)で文字列連結を利用してUPDATE文を作成します。

SELECT 'UPDATE table2 SET column3 = ''' || value1 || ''' WHERE column4 = ''' || value2 || ''';' FROM table WHERE condition;

そのまま結果を実行したい場合は上記のSELECT文に\gexecを付けます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?