zoukankan      html  css  js  c++  java
  • select into的不同数据库实现

    DB2中修改表的schema除了通常的创建别名,还可以删除表重建

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

    实现如下:

    在SchemaTarget的Schema模式下,执行

    CREATE TABLE Table1 LIKE  SchemaSource.Table1

    INSERT INTO Table1
    SELECT * FROM SchemaSource.Table1

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

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

    ---------

    1、

    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的字段外,还可以插入常量。

    2、

          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 Table2
    SELECT * FROM Table1

  • 相关阅读:
    HDU 1711 Number Sequence
    PAT L2-016 愿天下有情人都是失散多年的兄妹
    PAT L2-024 部落
    斜率优化DP小结(含凸优化)
    jzoj 4475. 【GDOI2016模拟4.25】征途
    jzoj 6271. 2019.8.4【NOIP提高组A】锻造 (forging)
    jzoj 6273. 2019.8.4【NOIP提高组A】欠钱 (money)
    jzoj 6272. 2019.8.4【NOIP提高组A】整除 (division)
    2019.08.04【NOIP提高组】模拟 A 组 总结
    jzoj 2184. 羊羊列队
  • 原文地址:https://www.cnblogs.com/highriver/p/3396784.html
Copyright © 2011-2022 走看看