Oracle中複製表結構和表數據

 

Oracle中複製表結構和表數據

1. 複製表結構及其數據(目標表不存在)

  create table table_name_new as select * from table_name_old;

2. 只複製表結構(目標表不存在,加入一個永遠不可能成立的條件。):

  create table table_name_new as select * from table_name_old where 1=2;

3. 只複製表數據(目標表已經存在):

  如果兩個表結構一樣:

  insert into table_name_new select * from table_name_old;

  如果兩個表結構不一樣:

  insert into table_name_new(column1,column2...) 

  select column1,column2... from table_name_old;

4. 將多個表數據插入一個表中:
  insert into table_name_new(column1,column2...) 

  (select column1,column2... from table_name_old1) union all

  (select column1,column2... from table_name_old2);

注意:這樣做有個很大的弊端,就是不能將原表中的default value也一同遷移過來,也不能將原表的索引和主外鍵關係等復

      制過來。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章