`

SELECT INTO 复制表功能在DB2与ORACLE下的替代实现

 
阅读更多

首先我们再来熟悉下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

分享到:
评论

相关推荐

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...

    oracle,teradata,hive,gbase,db2数据库导出csv命令总结

    五种常见数据库(oracle,teradata,gbase,hive,db2),通过指令的方式导出csv格式文件的总结,实例.例如spool,select.. into outfile,export .... of del,fastExport.

    数据库操作语句大全(sql)

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    某知名公司内部ORACLE培训资料(如果你看后觉得不行,可以损我,人格担保)

    某知名公司内部ORACLE培训资料,绝对不可多得。 如果你下载后觉得不行,可以损我。 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql ...

    经典SQL语句大全

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    sql经典语句一部分

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    经典全面的SQL语句大全

     1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)  法一:select * into b from a where 1<>1  法二:select top 0 * into b from a  2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access...

    数据库学习入门数据库基础.docx

    常用的数据库管理系统(DBMS)有 MySQL、Oracle、SQL Server、DB2 等。 数据库基础知识点: 1. 数据库的作用:数据库是存储和管理数据的基本对象,包括文字、图形、图像、声音等有组织的、可共享的数据集合。 2. ...

    2021年数据库答辩题库含答案.doc

    大型 DBMS 软件如 IBM DB2、ORACLE、SQL SERVER、INFORMIX 等等。 4. 实体型之间的关系有哪些? 实体型之间的关系有三种:一对一关系、一对多关系和多对多关系。 5. 实体型之间的一对一关系的例子 例如,一种...

    SQL语法大全

    sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据...

    mysql基础只是总结

    mssql 2000 Access DB2 oracle 【mysql安装】 1、官方下载mysql win32 msi 2、点击安装 3、配置 4、查看是否安装成功 通过cmd 输入netstat -a搜索3306端口是否处于listening状态 【mysql服务的启动与停止】 1...

    数据库关系数据库标准语言.pptx

    SQL语言广泛应用于各种关系数据库管理系统中,如Oracle、DB2、MySQL等。它提供了一个标准化的语言,用于管理和操作关系数据库,以提高数据的安全、完整性和一致性。同时,SQL语言也广泛应用于数据科学、商业智能、...

    华南理工大学计算机全英班数据库实验

    Use any databases, such as DBMS SQL Server, Oracle, or DB2, Use any programming languages, such as java, c++, asp.net, php. Use c/s or b/s Model. Submitted materials: 1. Program manual. (papers and...

    java连接数据库及数据库的查询.doc

    比较著名的关系数据库管理系统有 Oracle、Sybase、DB2、MySQL、Microsoft SQL Server、Microsoft Access 等。 SQL 语言 SQL 是一个国际化标准语言,几乎所有关系型数据库都用 SQL 语言执行数据查询和操纵。理解 ...

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    JDBC Driver Mannager->局部JDBC驱动->客户端数据库->数据库服务器->返回查询结果,这种访问事实上是转换JDBC调用为相应的数据库(Oracle, Sybase, Informix, DB2, 和其他的数据库数据库管理系统)的客户端API调用...

    VereORM至简持久层微架构

    7.在 test/src/VereORM.xml 只需简单配置 实体模型User 到 表 user 的映射 <?xml version="1.0" encoding="UTF-8"?> <dataSource class="com.vere.orm.db.pool.PooledConnection"> ...

    php.ini-development

    ;;;;;;;;... 1.... 2.... 3.... 4.... 5.... 6.... The syntax of the file is extremely simple.... Section headers (e.g.... at runtime.... There is no name validation.... (e.g.... previously set variable or directive (e.g....

Global site tag (gtag.js) - Google Analytics