摘要: 1. 静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进行确定,只能在用户输入一定的查询条件后才能提交给SQL引擎进行处理。通常,静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式。 本文主要就动态SQL的开发进行讨论,并在最后给出一些实际开发的技巧。 2. 动态SQL程序开... 阅读全文
posted @ 2011-08-24 11:27 郭振斌 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 一般的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语句是不确定的,如根据用户输入的参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创. 阅读全文
posted @ 2011-08-24 11:23 郭振斌 阅读(5406) 评论(0) 推荐(0) 编辑
摘要: PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种。所以,我们可以认为,有3种游标用法:A. 显式游标B. select into隐式游标C. for .. in 隐式游标如何正确的选择使用哪种游标,将对你的程序的性能,可读性,代码量等产生重大影响……--By RollingPig,本文简单的列举了PL/SQL中用到的几种不同类型的游标写法,并简单对比了不同游标写法的优缺点,同时给出了一个选择的基本原则。本文并不包括太多的实际运行/性能测试,有兴趣的话,大家可以根据示例自己测试。1.三种游标形式的简单例子A. 显式游标普通显 阅读全文
posted @ 2011-08-24 11:11 郭振斌 阅读(945) 评论(0) 推荐(0) 编辑