コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

BigQueryではSELECT結果を他テーブルにInsert / テーブル洗い替えなどができる

知らない人は知らない機能。ちなみにこれはスケジュールドクエリでもできる。

やり方

クエリエディタの「クエリの設定」から表示されるウィンドウで設定できる。

f:id:shinkufencer:20200210084105p:plain

送信先で「クエリ結果の宛先テーブルを設定する」を選ぶと実行後にデータを扱う挙動が加わる

f:id:shinkufencer:20200210084128p:plain

  • 『空の場合に書き込む』は文字通り対象テーブルが空の場合のみ検索結果をINSERTする。
  • 『テーブルを追加する』の場合は結果をすべてINSERTする。
  • 『テーブルを上書きする』の場合は既存のテーブル情報をすべて捨てて、結果を入れ直す

なお、テーブルがない場合は作られるので事前に作る必要などはない。

参考リンク