Oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

在Oracle中select into from不可以使用,用create table select代替该功能!!!在Sql Server中可以正常使用。1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1注意:(1)要求目标表Table2必须存在,并且字段field,field2...也必须存在(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:Insert into Table2(field1,field2,...) values (select value1,value2,... from Table1)由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:--1.创建测试表  create TABLE Table1  (  a varchar(10),  b varchar(10),  c varchar(10))create TABLE Table2  (  a varchar(10),  c varchar(10),  d int)--2.创建测试数据  Insert into Table1 values('','asds','90')  Insert into Table1 values('','asds','100')  Insert into Table1 values('','asds','80')  Insert into Table1 values('','asds',null)  select * from Table2--3.INSERT INTO SELECT语句复制表数据  Insert into Table2(a, c, d) select a,c,5 from Table1--4.显示更新后的结果  select * from Table2  --5.删除测试表  drop TABLE Table1  drop TABLE Table2例:- 使用insert into select 拷贝数据(注意红色部分,可以自动生成id序列值)
insert into test2(id,testname,createtime,falg)select seq_test.nextval,t1.testname,t1.createtime,t1.falg from test1 t1;2.SELECT INTO FROM语句语句形式为:SELECT vale1, value2 into Table2 from Table1要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:view plaincopy to clipboardprint?--1.创建测试表  create TABLE Table1  (  a varchar(10),  b varchar(10),  c varchar(10))--2.创建测试数据  Insert into Table1 values('','asds','90')  Insert into Table1 values('','asds','100')  Insert into Table1 values('','asds','80')  Insert into Table1 values('','asds',null)  --3.SELECT INTO FROM语句创建表Table2并复制数据  select a,c INTO Table2 from Table1  --4.显示更新后的结果  select * from Table2  --5.删除测试表  drop TABLE Table1  drop TABLE Table2 注意:如果在sql/plus或者PL/SQL执行这条语句,会报"ORA-00905:缺失关键字"错误,原因是PL/Sql与T-SQL的区别。
T-SQL中该句正常,但PL/SQL中解释是:
select..into is part of PL/SQL language which means you have to use it inside a PL/SQL block. You can not use it in a SQL statement outside of PL/SQL.
即不能单独作为一条sql语句执行,一般在PL/SQL程序块(block)中使用。如果想在PL/SQL中实现该功能,可使用Create table newTable as select * from ...:
如: create table NewTable as select * from ATable;NewTable 除了没有键,其他的和ATable一样---------SQL SELECT INTO语法介绍
SQL SELECT INTO 语句可用于创建表的备份复件。
SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
SQL SELECT INTO 语法
您可以把所有的列插入新表:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename
SQL SELECT INTO 实例 - 制作备份复件
下面的例子会制作 "Persons" 表的备份复件:
SELECT * INTO Persons_backup FROM Persons
IN 子句可用于向另一个数据库中拷贝表:
SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:
SELECT LastName,FirstName
INTO Persons_backup
FROM Persons
SQL SELECT INTO 实例 - 带有 WHERE 子句
我们也可以添加 WHERE 子句。
下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表:
SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City='Beijing'
SQL SELECT INTO 实例 - 被连接的表
从一个以上的表中选取数据也是可以做到的。
下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:
SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P

出处:https://blog.csdn.net/qq_35893120/article/details/78560973

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帆软地址栏传参,实例

自动查询: http://help.finereport.com/finereport9.0/doc-view-409.html参数的种类与区别: http://help.finereport.com/doc-view-156基本参数传递(视频): http://bbs.fanruan.com/lesson-14.html超级链接-传递多个值…

RMI 说明

见:https://baike.baidu.com/item/RMI/1786244?fraladdin RMI远程方法调用 相关概述 RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说&…

李善友:为什么外企人不敢创业

摘要:20年前,人们最骄傲的是进外企,创业意味着找不到工作。而现在相反,你要说自己在外企工作,会被人笑话,令人激动的事儿是去创业。 李善友:中欧创业中心主任创业学兼任教授、酷6网创始人 孙陶然…

JVM对象占用内存计算

大家都知道,jvm中对象实例存储在堆中,对象的引用存储在栈中,而对象的元数据(类型数据)存储在方法区。在我们进行内存优化的过程中经常需要了解每个对象占用的内存大小。接下来我将介绍对象占用内存大小的计算方式。 Java的对象模型 java是面…

绘图基础语法与常用参数

1 # -*- coding: utf-8 -*-2 3 ###############################################################################4 ####################### 正文代码 #######################5 #################################################################…

MyEclipse 皮肤、主题、背景色

第一步:打开myeclipse--->help--->install from site--->Add将路径粘贴在这里。等待安装颜色主题。https://raw.github.com/guari/eclipse-ui-theme/master/com.github.eclipseuitheme.themes.updatesite 第二步:http://eclipsecolorthemes.org…

RPC 远程过程调用协议

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携…

周鸿祎:创业前的积累很重要

摘要:虽然公司上市,也投资了很多公司,日前,在中国人民大学的演讲中,周鸿祎却称自己“从来不是一个成功人士,曾经是一个最大的失败者”。 360特供机还没露面,已经被周鸿祎通过微博炒得火热&#…

BZOJ 4710 [Jsoi2011]分特产 解题报告

4710 [Jsoi2011]分特产 题意 给定\(n\)个集合,每个集合有相同的\(a_i\)个元素,不同的集合的元素不同。将所有的元素分给\(m\)个不同位置,要求每个位置至少有一个元素,求分配方案数。 先考虑两个简单的问题 给定\(m\)个相同元素和\…

java接口调试思想

对于接口调试的理解:最近多次参与接口调试工作,一般情况都是获取对方接口文档,文档中有加密验证方式,根据加密验证方式开发,调用对应的接口。可以不可以简化这个流程那,至少减少一方的工作量。1、减少调用方…

SOA (面向服务的架构)

见:https://baike.baidu.com/item/SOA/2140650?fraladdin UDDI 解说参见:UDDI是什么 SOAP解说参见: SOAP:简单对象访问协议 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称…

mysql中count(*)和count(1)和count(column)区别

在日常的mysql使用中,我们经常会看到SELECT COUNT(*)、SELECT COUNT(1)等查询语句,他们到底有什么区别呢?今天我就来总结下。 我们先从函数的含义说起: count() 统计满足查询条件的结果集的总行数(包含null),其中count…

第一天笔记

编程语言分类: 1. 机器语言:用二进制指令编程,本质是直接操作硬件。 优点:执行效率高 缺点:开发效率低,学习难度高 2.汇编语言:用英文标签代替二进制指令,本质也是直接操作硬件。…

索尼MOTO等压榨国内代工厂:员工宿舍像监狱

摘要:据调查报告披露,伟易达血汗工厂的压榨情况比起富士康、苹果等有过之而无不及,包括强迫工人超负荷工作、暴露于有害化学物质、住宿环境差、虐待员工、超低的工资等。如前面保罗克鲁格曼发表了《表扬廉价劳动》一文,N.D.克里斯…

[cerc2012][Gym100624B]20181013

转载于:https://www.cnblogs.com/KonjakJuruo/p/9809637.html

Nginx服务器证书部署-亚洲诚信

Nginx服务器证书部署发布时间:2018-01-17 16:15:25依赖建议l SSL卸载驱动。建议:openssl版本1.1.0f。l nginx版本Stable version:最新稳定版,生产环境上建议使用的版本。获取证书MPKI方式:1. 登录https://mpki.tru…

java transient关键字

transient是用在序列化中的。当我们序列化的过程中,如果我们不想序列化某个字段,那么我们就可以使用这个关键字,jvm就会在序列化的时候自动忽略这个字段的数值。 transient主要有两个用途: 1.保证数据的安全。在进行序列化时&…

UDDI

见:https://baike.baidu.com/item/UDDI/2901586?fraladdin UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。UDDI,英文为 "Universal Description, Discovery and Integration",可译为“通用描述、…

腾讯手机管家筹划“出海”

摘要:正筹划推进旗下手机安全产品出海揽客。6月22日,腾讯无线安全产品部副总经理胡振东在上海表示,腾讯手机管家已推出了安卓国际版,下决心进军国际市场。 腾讯(00700.HK)正筹划推进旗下手机安全产品出海揽客。6月22日&#xff0c…

用反卷积(Deconvnet)可视化理解卷积神经网络还有使用tensorboard

『cs231n』卷积神经网络的可视化与进一步理解 深度学习小白——卷积神经网络可视化(二) TensorBoard--TensorFlow可视化 原文地址:http://blog.csdn.net/hjimce/article/details/50544370 作者:hjimce 一、相关理论 本篇博文主要讲…