表间数据复制--SELECT表中的数据插入到新的表中
--在Oracle 9i中
CREATE TABLE scott.test
AS
(SELECT DISTINCT empno,ename,hiredate
FROM scott.emp
WHERE empno>=7000);
SELECT * FROM scott.test; --查询复制后的数据
DROP TABLE scott.test; --删除新表scott.test
--结果:
表已创建。
EMPNO ENAME HIREDATE
---------- -------------------- ----------
7369 SMITH 17-12月-80
7499 ALLEN 20-2月 -81
7521 WARD 22-2月 -81
7566 JONES 02-4月 -81
7654 MARTIN 28-9月 -81
7698 BLAKE 01-5月 -81
7782 CLARK 09-6月 -81
7788 SCOTT 19-4月 -87
7839 KING 17-11月-81
7844 TURNER 08-9月 -81
7876 ADAMS 23-5月 -87
EMPNO ENAME HIREDATE
---------- -------------------- ----------
7900 JAMES 03-12月-81
7902 FORD 03-12月-81
7934 MILLER 23-1月 -82
已选择14行。
表已丢弃。
--在MSSQL中:
--创建待测试表
CREATE TABLE TableA(EmpID int IDENTITY(1,1),EmpName nvarchar(20))
GO
INSERT INTO TableA
SELECT N'张三' UNION ALL
SELECT N'黄工' UNION ALL
SELECT N'小名' UNION ALL
SELECT N'鸟人' UNION ALL
SELECT N'菜鸟'
GO
SELECT * INTO TableB FROM TableA --在MSSQL中相当于SELECT ... INTO ... FROM
SELECT * FROM TableB
--删除测试表和新建立的表
DROP TABLE TableA
DROP TABLE TableB
GO
--结果:
/*
EmpID EmpName
------------
1 张三
2 黄工
3 小名
4 鸟人
5 菜鸟
*/