今天给客户解决问题,需要复制一个表的数据到另一个表,尴尬了一把,突然发现select * into 语句突然失灵了。赶紧上网度娘了一下。还是赶紧记下来吧,加深一下影响,有不懂得可以一起学习。
oracle数据库:
insert into 目的表(select 语句 from 目标表 + 条件) 目的表是一个存在的表。
create table 目的表 as (select语句 from 目标表 + 条件) 目的表需要实时创建(不存在),复制了表结构以及表数据。
sql数据库:
insert into 目的表(select 语句 from 目标表 + 条件) 目的表是一个存在的表。
select 语句 into 目的表 from 目标表 + 条件 目的表需要实时创建(不存在),复制了表结构以及表数据。
备注:可以选择复制目标表中的所需要的列或者所需要的行,如果只需要几列,可以在select语句中添加字段名;如果需要特殊的行,可以在条件中添加where添加。
如果只复制表结构的话:
oracle:create table 目的表 as (select语句 from 目标表 where 1=2) 给它一个所有行都不满足的条件
sql: select 语句 into 目的表 from 目标表 where 1 = 2