易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle INSERT ALL和INSERT FIRST

今天第一次知道ORACLE原来还可以这样INSERT的……长见识了
一、无条件 INSERT ALL
二、条件 INSERT ALL
三、条件 INSERT FIRST
Insert…Select
使用Insert Select实现同时向多个表插入记录
一、无条件 INSERT ALL
---------------------------------------------------------------------------------------------
INSERT ALL
insert_into_clause values_clause_1
[insert_into_clause values_clause_2]
……
Subquery;
----------------------------------------------------------------------------------------------
1、指定所有跟随着的多表 insert_into_clauses 执行无条件的多表插入;
2、对于每个由子查询返回的行, Oracle 服务器执行每一个 insert_into_clause一次。
二、条件 INSERT ALL
---------------------------------------------------------------------------------------------
INSERT ALL
WHEN condition THEN insert_into_clause values_clause
[WHEN condition THEN] [insert_into_clause values_clause]
……
[ELSE] [insert_into_clause values_clause]
Subquery;
--------------------------------------------------------------------------------------------
1、指定 conditional_insert_clause 来执行一个条件多表插入;
2、Oracle 服务器通过相应的 WHEN 条件过滤每一个 insert_into_clause,确定是否执行这个 insert_into_clause;
3、一个单个的多表插入语句可以包含最多 127 个 WHEN 子句。
三、条件 INSERT FIRST
--------------------------------------------------------------------------------------------
INSERT FIRST
WHEN condition THEN insert_into_clause values_clause
[WHEN condition THEN] [insert_into_clause values_clause]
……
[ELSE] [insert_into_clause values_clause]
Subquery;
--------------------------------------------------------------------------------------------
1、Oracle 服务器对每一个出现在语句顺序中的 WHEN 子句求值;
2、如果第一个 WHEN 子句的值为 true,Oracle 服务器对于给定的行执行相应的 INTO 子句,并且跳过后面的 WHEN 子句(后面的when语句都不再考虑满足第一个When子句的记录,即使该记录满足when语句中的


相关文档:

走近Oracle数据字典(二)

 在上篇文章里“走近Oracle数据字典--数据字典表”,我们谈到了数据字典对于我们作为DBA对数据库维护的重要性。数据库的对象信息,比如表,用户,存储过程,函数,视图,索引等等,这些存在在数据库里的对象的信息,都是在数据字典表里进行维护的,我们可以借用一些比较好的Oracle开发工具比如PLSQL dev或者 ......

ORACLE误删数据文件导致ORA

自从学ORACLE以来就从来没有发生过什么故障,比较幸运。其实也不能算幸运,因为这样就少了锻炼的机会了,呵呵,怎么觉得自己有点求虐的倾向……
即便是在学习backup and recovery basics的时候,也只是做做备份的实验,没做过恢复,因为身边没有人指导,也没其他同学在学ORACLE,所以怕一出问题肯定很麻烦,解 ......

ORACLE中in 和 exists区别

IN和EXISTS区别
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
一直以来认为exists比in效率高的说法是不准确的。
如果查询的两个表大小相当,那么用in和exists差别不大。
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:
例如:表A(小表),表B ......

ORACLE如何使用DBMS_METADATA.GET_DDL获取DDL语句

1.得到一个表的ddl语句:
SET SERVEROUTPUT ON
SET LINESIZE 1000
SET FEEDBACK OFF
set long 999999             ------显示不完整
SET PAGESIZE 1000    ----分页
 
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.S ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号