はじめに

CREATE TABLE…LIKE文を使用すると、すでに存在するテーブルのテーブル定義のみをコピーして、新規にテーブルを作成することができます。

※CREATE TABLE…AS SELECT文を使用した場合は、データも含めてコピーされますが、CREATE TABLE…LIKE文の場合はテーブル定義のみがコピーされます。

CREATE TABLE…LIKE文

構文

以下にCREATE TABLE…LIKE文の使用方法を記載します。


実行例

table1の定義をコピーしてtable2を作成する場合の例です。


table2のテーブル定義を確認すると、table1の定義で作成されています。


プロジェクション定義のコピー

INCLUDING PROJECTIONSオプションを使用することで、ソーステーブルのプロジェクション定義(クエリスペシフィックプロジェクションも含む)も合わせてコピーすることができます。


プロジェクションの命名ルール

9.3からINCLUDING PROJECTIONSで作成したテーブル名が、プロジェクション名に反映されるようになりました。


参考情報

CREATE TABLE
https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/SQLReferenceManual/Statements/CREATETABLE.htm

Projection Naming
https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/AdministratorsGuide/Projections/ProjectionNaming.htm

検証バージョンについて

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

更新履歴

2016/08/19 本記事を公開
2019/12/08 バージョン9.3リリース対応