1. 程式人生 > >資料庫——Oracle中快速複製表結構及sql語句select into的用法

資料庫——Oracle中快速複製表結構及sql語句select into的用法

select into的使用規則:

  • 在Oracle中是pl/sql的變數賦值語句;
  • 在sql server中可以用來複制一個表的資料並插入到另一個新表中,語法如下:
SELECT    *     INTO  新表名 [IN 外部資料庫]  FROM  舊錶名;
SELECT 欄位名(s) INTO  新表名 [IN 外部資料庫]  FROM  舊錶名;

在這裡若只想複製表結構則可以新增促使查詢無結果返回的where子句:
SELECT * INTO 新表名 FROM 舊錶名 WHERE 1=0;

Oracle中快速複製表結構和表資料:

複製表結構及其資料: 
create
table 新表名 as select 欄位名(s) from 舊錶名;
只複製表結構: create table 新表名 as select * from 舊錶名 where 1=2; create table 新表名 like 舊錶名; 只複製表資料: 若兩表結構相同:insert into 新表名 select * from 舊錶名; 若兩表結構不同:insert into 新表名(欄位1,欄位2...) select 欄位1,欄位2... from 舊錶名;

注:此方法無法複製表的約束(索引,主鍵等),只能生成sql指令碼(附帶約束資訊),再執行指令碼生成表;
在寫sql語句的時候要注意使用的資料庫,因為不同的資料庫中同一sql的功能可能會不同。