查询语句生成的数据 直接insert 到表中,无需另外建表 建字段 。
oracle :
create table 表名 as select 语句
sql server (要求表不存在):
select *into table_new from table (from 后面可接查询语句)
用处:
可以做表备份 ,物化视图 ,物化查询语句,快速建立一张新表 等等。
说明: 无需提前把目标表建好,会自动按照数据源 字段类型建立对应目标表。
举个例子:
--sql server 备份表table1:
select * into table_bak from table1
--sql server 将查询内容生成一张表:
select * into table_new from (select * from a where .....)
--根据其他表字段 快速建一个新的空表:
--step1:
select * insert table_new from (select ... from t1 join t2 on .... )
--step2 清空表:
truncate table_new
--这样就得到一个空的 table_new ,避免了手动建表 选择字段类型等的繁琐和可能的错误
扩展:前面提到的是表不存在的情况,如果表存在,往表里追加数据 则用insert into 语句
sql server :
举例:
insert into scorebak select * from socre where neza='neza' --插入一行,要求表scorebak 必须存在

本文介绍如何使用SQL语句快速创建新表并填充数据,包括Oracle和SQL Server的实现方式,适用于表备份、物化视图及快速建表等场景。无需预先创建目标表,系统将自动匹配数据源字段类型。

479

被折叠的 条评论
为什么被折叠?



