`
firecym
  • 浏览: 45806 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle基础知识--高级insert语句

阅读更多

以scott用户下的emp,dept等几张表作为示范,sqlplus演示。

 

首先创建两张空e1, e2:

SQL> create table e1 as select ename, sal, hiredate from emp where 1=2;

表已创建。

SQL> create table e2 as select ename, deptno, mgr from emp where 1=2;

表已创建。

 

oracle向表里插入数据有很多种方法

1. insert into xxx values(xxx);

SQL> insert into e1 values('test', 2000, to_date('20111111','yyyyMMdd'));

已创建 1 行。

 

2. insert into xxx select xxx from xxx;

SQL> insert into e1 select ename, sal, hiredate from emp;

已创建14行。

 

3. 高级inert语句:将一个查询语句的结果插入到多张表中。

    1). insert all

SQL> insert all
  2  into e1 values(ename, sal, hiredate)
  3  into e2 values(ename, deptno, mgr)
  4  select * from emp;

已创建28行。

    即将查询结果的每一行都插入到e1,e2表中。select * from emp 一共14行数据,所以共插入28行。 

  

    2). insert first

SQL> insert first
  2  when sal > 2500 then
  3  into e1 values(ename, sal, hiredate)
  4  when sal >1000 then
  5  into e2 values(ename, deptno, mgr)
  6  select * from emp;

已创建12行。

    查询结果的一行只能插入到一张表,即使两张表的条件都符合。写在前面的条件优先插入...可以继续测试一下:

SQL> delete from e1;

已删除5行。

SQL> delete from e2;

已删除7行。

SQL> insert first
  2  when sal > 1000 then
  3  into e1 values(ename, sal, hiredate)
  4  when sal > 2000 then
  5  into e2 values(ename, deptno, mgr)
  6  select * from emp;

已创建12行。

SQL> select count(1) from e1;

  COUNT(1)
----------
        12

SQL> select count(1) from e2;

  COUNT(1)
----------
         0

 

    可以看到,e2表中没有插入任何行,因为满足第二个条件的行都满足第一条件,所以都插入到e1中了。所以需要在书写条件的时候注意了...

 

    OK~结束~

 

分享到:
评论

相关推荐

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速...

    Oracle 10g 学习笔记

    │ 融会贯通Oracle数据库的25条基本知识.txt │ 详细讲解Oracle服务器的常用命令行.mht │ └─资料 │ Ora 10G Err_Msg.chm │ Oracle10g_DBA.pdf │ Oracle10G官方文档CHM合集SQL参考手册.pdf │ Oracle9i...

    oracle管理应用工具和sql高级应用视频教程详细完整版

    第三章:SQL基础知识 第四章:使用SELECT语句 第五章:数据的限定与排序 第六章:多表连接技术 第二部分:ORACLE SQL高级应用 第一章:使用子查询 第二章:用户访问控制 第三章:Oracle的事务和锁 第四章:使用索引 ...

    Oracle Database 11g初学者指南--详细书签版

     本书能使读者快捷地掌握oracle database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。本书带领读者循序渐进地学习数据库设置、管理、编程、备份和恢复。还...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    8.1.1 INSERT 262 8.1.2 UPDATE 265 8.1.3 DELETE 268 8.1.4 TRUNCATE 270 8.1.5 MERGE 271 8.1.6 DML语句失败 272 8.2 控制事务 273 8.2.1 数据库事务 273 8.2.2 执行SQL语句 274 8.2.3 事务控制:COMMIT...

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

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    韩顺平oracle学习笔记

    Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理 Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、...

    ProC 基础教程-简化版_Vol5 基本增删改

    主要介绍基本的CRUD操作语句以及相关知识点。 数据插入 使用嵌入式INSERT语句一次插入一行或多行记录 一行记录 EXEC SQL INSERT INTO TALBE_NAME (XXX,XXX,XXX) VALUE (:xxx,:xxx,:xxx);

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    8.1.1 INSERT 262 8.1.2 UPDATE 265 8.1.3 DELETE 268 8.1.4 TRUNCATE 270 8.1.5 MERGE 271 8.1.6 DML语句失败 272 8.2 控制事务 273 8.2.1 数据库事务 273 8.2.2 执行SQL语句 274 8.2.3 事务控制:COMMIT...

    精通sql结构化查询语句

    10.5 UNIQUE子查询与嵌套子查询 10.5.1 UNIQUE子查询 10.5.2 嵌套子查询 10.6 小结第4篇 T-SQL开发常用操作篇第11章 数据的维护操作 11.1 数据的插入操作 11.1.1 INSERT语句的基本语法 11.1.2 插入单条记录 11.1.3 ...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    《Oracle Database 11g初学者指南》能使读者快捷地掌握Oracle Database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。《Oracle Database 11g初学者指南》带领...

    精通SQL--结构化查询语言详解

    3.1 表的基础知识 37 3.1.1 表的基本结构 37 3.1.2 表的种类 38 3.2 sql数据类型 39 3.2.1 字符型数据 39 3.2.2 数字型数据 40 3.2.3 日期数据类型 41 3.2.4 二进制数据类型 43 3.2.5 文本和图形数据类型 44...

    精通SQL 结构化查询语言详解

    3.1 表的基础知识  3.1.1 表的基本结构  3.1.2 表的种类  3.2 SQL数据类型  3.2.1 字符型数据 3.2.2 数字型数据  3.2.3 日期数据类型 3.2.4 二进制数据类型 3.2.5 文本和图形数据类型  3.2.6 自定义...

    oracle学习经典教程

    ORACLE 基础知识..24 1.1 ORACLE OLAP 与OLTP 介绍..................24 1.1.1 什么是OLTP ....25 1.1.2 什么是OLAP....26 1.1.3 在OLAP 系统中,常使用分区技术、并行技术....26 1.1.4 分开设计与优化...

    数据库的基础知识及增删改查—详解—适合初学者学习

    数据库的增删改查数据库数据库的分类常见的关系型数据库SQL分类MySql数据库的安装和使用数据库的表的设计数据库服务器的连接数据库表的设计插入—-insert修改表记录–update删除表中的记录—...

    SQL必知必会(第3版)--详细书签版

    本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。  本书注重实用性,操作性很强,适合于sql 的初学者学习...

    asp.net知识库

    事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle...

    TianleSoftware Oracle中文学习手册

    ORACLE 基础知识 ............................................................................................. 1.1 ORACLE OLAP 与 OLTP 介绍 ...............................................................

Global site tag (gtag.js) - Google Analytics