• 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

  • 相关阅读:
    CSDN博客 专用备份工具
    discuz 7.0 uc 同步登录方法
    delphi 子窗体最大化
    OO系统分析员之路用例分析系列(8)如何编写一份完整的UML需求规格说明书[整理重发]
    delphi 抓取网页内容的程序
    delphi messagebox 使用技巧
    windows mobile下实现程序安装和卸载
    纯真IP库算法
    delphi idhttp 使用方法
    最近评论回复汇总
  • 原文地址:https://www.cnblogs.com/highriver/p/3396784.html
Copyright © 2020-2023  润新知