plsql
文章平均质量分 77
rudy_gao
这个作者很懒,什么都没留下…
展开
-
集合遍历
1. 遍历关联数组index by varchar2declare type t is table of number(3) index by varchar2(3); hash_t t; l_row varchar2(3); begin hash_t('a') := 10; hash_t('b') := 20; l_row :=hash_t.f原创 2014-04-15 09:53:00 · 536 阅读 · 0 评论 -
plsql面向对象
一,例子1.创建type原创 2014-05-01 16:46:12 · 718 阅读 · 0 评论 -
DBMS_SCHEDULER 带参数JOB
1.创建测试表CREATE TABLE t_test( ID DATE PRIMARY KEY, VALUE NUMBER);2.创建存储过程create or replace procedure pro_test(v IN NUMBER) isbegin insert into t_test(id,VALUE) values转载 2014-04-21 18:19:51 · 3257 阅读 · 0 评论 -
oracle使用自治事务记录系统日志
在我们对表记录执行DML操作时,一方面,我们需要把错误记录到数据库的日志表中,另一方面,由于错误我们需要回滚核心事务,此时我们可以在记录日志的存储过程中使用自治事务1. 定义事务日志表CREATE TABLE "SCOTT"."EXCEPTION_LOG" ( "ID" NUMBER(18,0), "ERROR_CODE" NUMBER(10,0), "ERROR_MESS原创 2013-10-27 19:29:06 · 1963 阅读 · 0 评论 -
以传值和传引用的方式传递参数 IN OUT NOCOPY
传递子程序参数的方式有两种--传值和传引用。当以引用的方式传递参数的时候,就将指向实际参数的一个指针传递到相应的形式参数。另一方面,当以传值的方式传递参数的时候,就将实际参数的值复制到相应的形式参数。以引用的方式传递参数通常会更快,因为它避免了复制。对集合类型的参数而言,这表现更加明显,因为集合类型的数据一般都非常多。默认情况下,PL/SQL对IN参数都使用传引用的方式,而对IN OUT和转载 2014-04-23 10:16:58 · 1955 阅读 · 0 评论 -
where current of 子句
PL/SQL提供为update和delete语句在cursor中使用提供了where current of子句。这个子句让你容易地进行update和delete操作对最近fetch的行进行操作。 语法: UPDATE table_name SET set_clause WHERE CURRENT OF cursor_name; DELETE转载 2014-05-15 10:54:49 · 3274 阅读 · 0 评论 -
sdo_Geom包的函数
Oracle_spatial的函数一sdo_Geom包的函数:用于表示两个几何对象的关系(结果为True/False)的函数:RELATE,WITHIN_DISTANCE验证的函数:VALIDATE_GEOMETRY_WITH_CONTEXT,VALIDATE_LAYER_WITH_CONTEXT单个对象操作的函数:SDO_ARC_DENSIFY, SDO_AR转载 2014-05-16 11:42:29 · 7196 阅读 · 0 评论 -
Oracle bulk 示例
Oracle有2个引擎来执行PL/SQL blocks 和 subprograms。那么在执行的时候,PL/SQL 引擎把DML 语句发送给SQL 引擎,然后由SQL 引擎执行,执行完毕后,SQL 引擎把结果集在发送给PL/SQL 引擎。 与bulk 相关的有2个语法:forall 和 bulk collect。 (1)FORA转载 2014-08-16 14:31:42 · 761 阅读 · 0 评论 -
常用的PL/SQL开发原则
(1)广泛使用绑定变量,特别是批量绑定,因为这可以有效的避免sql的硬解析和PL/SQL引擎和SQL引擎的上下文切换! (2)广泛使用UROWID来处理DML语句 (3)在你的存储过程中谨慎使用DDL语句,因为这可能会破坏你的transaction的连续性,更为严重的是可能会阻塞DML操作并可能会导致大量library cache latch争用并且有可能会转载 2014-08-15 16:35:38 · 489 阅读 · 0 评论