Oracle 同じ定義の表を複製するSQL

スポンサーリンク

同じテーブルレイアウトのテーブルをもう一個作りたいなぁという時に使うSQL

CREATE TABLE  
 新規テーブル AS 
SELECT 
 * 
FROM 
 既存テーブル 
WHERE 
 1 = 2;

「where 1 = 2」の意味ですがデータの中身をコピーしないテクニックみたいです!こんな書き方があるなんて便利。
以下のサイトを参考にさせていただきました。すごいわかりやすくて勉強になります。

しばちょう先生の試して納得!DBAへの道

同じ定義のテーブルのデータをコピーしたくなったときのSQL

INSERT INTO 
 新規テーブル
SELECT 
 *
FROM 
 既存テーブル

既存テーブルのデータをすべてを新規テーブルにコピーすることができます。

コメント

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