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的功能可能会不同。