oracle,sqlserver数据库在查询结果基础上创建新表

13 篇文章 0 订阅
1 篇文章 0 订阅
功能:将查询的结果放到一个新表中去,查询结果可以来源于一个表或多个表

SQL SERVER中使用SELECT INTO语句

按照使用场合可以分为以下几类:

1. 实现全表备份:如:SELECT * INOT t1 FROM titles

2. 备份表的一部分列(不写*而写出列的列表)或一部分行(加WHERE条件)

如: SELECT title_id,title,price INTO t2 FROM titles—部分列

   SELECT * INTO t2 FROM titles WHREE price>10 –部分行

          SELECT title_id,title,price INTO t2 FROM titles WHREE price>10 –部分行和部分列

3. 只复制表的结构:如:SELECT * INOT t1 FROM titles WHERE 1=2

4. 查询结果来源于多个表:如:

SELECT title_id,title,pub_name INTO t3

FROM titles t INNER JOIN publishers p

ON t.pub_id=p.pub_id

 

Oracle中使用CREATE TABLE AS SELECT… 语句

实现的功能与SQL SERVER中基本相同,只是语法不同。例如:

CREATE TABLE dept_bak AS SELECT * FROM dept;

 

请注意:使用此种方法生成的新表中没有主键等约束,如果需要加,请另外创建。

 

此外,批量插入数据的语句在SQL SERVER 和Oracle中是相同的,都是INSERT INTO SELECT……,如:

INSERT INTO t1 SELECT * FROM titles

INSERT INTO dept_bak SELECT * FROM dept;

 

来源:http://www.cnblogs.com/lgzslf/archive/2008/11/25/1340323.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值