select into的不一样数据库实现

DB2中修改表的schema除了一般的建立别名,还能够删除表重建java

删除表的顺序应该是先在另外一个Schema下新建表,而后使用select ino将原表的数据导入新表,再删除原表.sql

实现以下:测试

 

在SchemaTarget的Schema模式下,执行spa

CREATE TABLE Table1 LIKE  SchemaSource.Table1blog

INSERT INTO Table1
SELECT * FROM SchemaSource.Table1开发

 

 

转自http://hjw2java.iteye.com/blog/1441214get

 

首先咱们再来熟悉下INSERT INTO 与 SELECT INTO 的语法结构:it

---------table

一、变量

Insert是T-sql中经常使用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但咱们在开发、测试过程当中,常常会遇到须要表复制的状况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候咱们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

      1.INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,因为目标表Table2已经存在,因此咱们除了插入源表Table1的字段外,还能够插入常量。

二、

      SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,由于在插入时会自动建立表Table2,并将Table1中指定字段数据复制到Table2中。

----------

今天在DB2下须要表复制的状况下,反复使用SELECT INTO FROM 都提示失败,后来一查,才发如今DB2中,SELECT INTO 被用在了诸如存储过程当中给变量复制的功能,复制表只能用另外一种办法实现了:
CREATE TABLE Table2 LIKE  Table1

INSERT INTO Table2
SELECT * FROM Table1
-----------

注:经查实,在Oracle中select into from复制表也不可使用-----缘由很简单:select into是PL/SQL language 的赋值语句!若是使用则Oracle会抛出0RA-00905:missing keyword的异常!

而Oracle的替代作法是:

CREATE TABLE Table2 AS Table1

 

INSERT INTO Table2SELECT * FROM Table1

相关文章
相关标签/搜索