はじめに

この記事では、テーブルのSELECT COUNT(*)での件数確認やDROP TABLE文、TRUNCATE TABLE文を一括で自動生成する方法についてご紹介します。



手順の概要

以下のような処理をvsqlのコマンドラインから実行します。

 ・vsqlのオプション「-c」を使ってコマンドラインからSQLを実行
 ・システムテーブルの「tables」から、スキーマ名とテーブル名を抽出
 ・SELECT COUNT(*) / DROP TABLE / TRUNCATE TABLEなどの文字列を連結
 ・ヘッダやフッタなどの余計な文字列をsedやawkなどのOSコマンドを組み合わせて削除


一括件数確認のSQL文

SELECT COUNT(*)文を一括で自動生成するSELECT文は以下のとおりです。




一括テーブル削除のSQL文

DROP TABLE文を一括で自動生成するSELECT文は以下のとおりです。




一括データ削除のSQL文

TRUNCATE TABLE文を一括で自動生成するSELECT文は以下のとおりです。




まとめ

今回はSELECT COUNT(*)、DROP TABLE、TRUNCATE TABLEの例をご紹介しました。シンプルなSQL文の例でしたが、実行結果を任意のファイル名で保存して何かしらのジョブに組み込むなどすれば、様々なメンテナンスの効率化も可能になります。是非本記事を参考にご活用ください。



参考記事

Verticaで既存環境のテーブルのDDLとデータを一括で抽出する方法
http://vertica-tech.ashisuto.co.jp/export-all-data/

SELECT結果をCSV出力する方法
http://vertica-tech.ashisuto.co.jp/csv-output/



検証バージョンについて

この記事の内容はVertica 7.2で確認しています。