PL/SQL开发五年工作经验精典实例】的更多相关文章

1. minus(差集)与intersect(交集) minus指令是运用在两个SQL语句上.它先找出第一个SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中,如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现;  如果第二个SQL语句所产生的结果并没有存在于第一个SQL语句所产生的结果内,那这笔资料就被抛弃.  intersect指令是运用在两个SQL语句上,如果两个SQL语句的记录完全相同则显示相应记录,否则将不在结果中出现. ------------------…
(1)广泛使用绑定变量,特别是批量绑定,因为这可以有效的避免sql的硬解析和PL/SQL引擎和SQL引擎的上下文切换!(2)广泛使用UROWID来处理DML语句(UROWID是ROWID扩展,ORACLE推荐使用UROWID来替代ROWID)(3)在你的存储过程中谨慎使用DDL语句(create.alter.drop.truncate等),因为这可能会破坏你的transaction的连续性,更为严重的是可能会阻塞DML操作并可能会导致大量library cache latch争用并且有可能会导致…
一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现. 首先我们应该了解什么是动态SQL,在Oracle数据库开发PL/SQL块中我们使用的SQL分为:静态SQL语句和动态SQL语句.所谓静态SQL指在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象.而动态SQL是指在PL/SQL块编译时SQL语句是不确定的,如根…
刚刚在inthirties老大的博客里看到这篇文章,写的不错,正好自己最近在学习PL/SQL,转过来学习学习. ================================================================================== bulk collect是可以看做是一种批获取的方式,在我们的plsql的代码段里经常作为into的扩展来使用.对于select id into v from .... 是一个常用的用法.不过这里只能是返回单条记录的时候,…
如果有一些异常并没有异常名称,比如一些ORA-开头的异常并没有一个友好的预定义的异常定义,此时在WHEN子句中无法使用具体的异常名称,必须要使用OTHERS异常处理器进行捕捉.通过EXCEPTION_INIT编译指示,可以为这些不在预定义异常范围内的异常添加名称. 编译指示是指能在编译期而非运行时进行处理的编译指令. 编译指令EXCEPTION_INIT将告诉编译器,将异常名称和错误编号关联起来,使得在PL/SQL语句块中可以使用名称来引用所有的内部异常,为其在EXCEPTION语句块中编写特定…
-- 排序 -- 1.列明排序 -- 2.别名排序 -- 3.列位置排序(当使用union,union all,intersect,minus集合操作,列明不同,但希望排序) SELECT deptno,dname FROM dept UNION SELECT empno,ename FROM emp DESC; -- 4.使用非选择列排序 SELECT ename FROM emp ORDER BY sal DESC; -- 5.多行排序,首先基于order by子句的第一个列排序,如果第一个…
RAISE_APPLICATION_ERROR在子程序内部使用时,能从存储子程序中抛出自定义的错误消息.这样就能将错误报告给应用程序而避免范围未捕获异常. 语法如下: RAISE_APPLICATION_ERROR(error_number, error_message, [keep_errors]); error_number是范围在-20000到-20999之间的负整数,error_message是最大长度为2048字节的字符串,keep_errors是一个可选的布尔值,True表示新的错误…
参考: oracle 的几个开发工具比较 因Oracle几乎是中大型商业企业数据的首选,所以比较一下常用与Oracle的工具. Oracle SQL Developer 免费,一般开发使用足矣,常用. PL/SQL DEVELOPER 比较适合开发人员,界面简单易用,常用.收费可你可使用30天或下载个破解版. Toad 比较专业一些,适合DBA人员使用,功能强大,主要是数据分析(Toad for Data Analysts 2.7),使用也是很容易上手的 假设可以分级别话:初级SQL Devel…
PL/SQL开发那点事----->PL/SQL开发过程中异常处理 用户编写的PL/SQL块在执行过程中不可避免地要发生一些错误. 这里涉及的错误并不是由于程序的语法错误引起的,而是因为处理的数据超出了处理的范围而引发的错误.如果给这样的错误起一个名字,这就是异常.当PL/SQL块在执行过程中检测到一个错误时,就会抛出相应的异常.在块中应当处理这样的异常,否则会引起应用程序运行停止. 异常处理程序 异常一般是在PL/SQL程序执行错误时由数据库服务器抛出,也可以在PL/SQL块中由程序员在一定的条…