ORACLE存储过程范例
来源:互联网 发布:python sys.argc 编辑:程序博客网 时间:2024/06/11 14:01
CREATE OR REPLACE TYPE MAP_TYPE AS OBJECT(COL nvarchar2(36),VAL nvarchar2(36))CREATE OR REPLACE TYPE MAP_TABLE AS TABLE OF MAP_TYPECREATE OR REPLACE TYPE ID_ARRAY AS TABLE OF NVARCHAR2(36)create or replace procedure MODEL_ORACLE_PROCEDURE(I_ARR IN id_array, O_RESULT OUT VARCHAR2, O_MESSAGE OUT VARCHAR2) is V_LOGGER_STEP NUMBER default 0; V_MATCH VARCHAR(36); V_FIELD VARCHAR(36); V_MAP MAP_TABLE:=MAP_TABLE(); V_MAP_INDEX NUMBER default 1;begin V_LOGGER_STEP := '1'; O_MESSAGE := '开始遍历要ARR'; FOR i IN I_ARR.First .. I_ARR.LAST LOOP V_FIELD:=I_ARR(i); BEGIN SELECT FIELD1 INTO V_MATCH FROM TABLE WHERE FIELD2 = V_FIELD; EXCEPTION WHEN NO_DATA_FOUND THEN CONTINUE; END; V_MAP.Extend;--插入第一条数据前也要先扩充数组 V_MAP(V_MAP_INDEX):=MAP_TYPE(V_FIELD,V_MATCH); V_MAP_INDEX:=V_MAP_INDEX+1; END LOOP; IF V_MAP.COUNT<5 THEN O_RESULT := '1'; RETURN; ELSIF V_MAP.COUNT=5 THEN O_RESULT := '0'; RETURN; ELSE UPDATE TABLE SET FIELD1=V_MAP(5).VAL WHERE FIELD2 IN (SELECT COL FROM TABLE(V_MAP)); END IF; O_RESULT := '1'; RETURN;EXCEPTION WHEN OTHERS THEN O_RESULT := '0'; O_MESSAGE := O_MESSAGE || ' '; P_CM_LOGGER('MODEL_ORACLE_PROCEDURE', SYSDATE, V_LOGGER_STEP, '', O_MESSAGE, ''); RETURN;end MODEL_ORACLE_PROCEDURE;
阅读全文
0 0
- ORACLE存储过程范例
- ORACLE的一些函数、存储过程范例
- mysql 存储过程 范例
- 存储过程范例
- 存储过程范例
- oracle存储过程中如何使用数组(附范例)
- oracle数据库存储过程范例(使用游标进行循环)
- 简单创建存储过程范例
- mysql简单存储过程范例
- [MYSQL]存储过程使用范例
- Oracle关于创建存储过程权限问题以及带参数的游标的范例
- Oracle:存储过程,存储函数
- Oracle-存储过程 存储函数
- Oracle存储过程、存储函数
- oracle 存储函数,存储过程
- Oracle存储过程
- 调试oracle存储过程。
- ORACLE 存储过程实战
- Java并发多线程面试题 Top 50
- JS的三种消息提示框alert confirm prompt
- python进程和线程学习笔记
- java控制随机数出现的概率
- 数据结构-二叉树
- ORACLE存储过程范例
- Zombie in Matrix
- myeclipse 导入web项目报红叉解决方案
- 100元买鸡算法题 php程序员面试题
- Java的单例
- AngularJS 面试题集锦
- springboot常用注解集锦
- 基于开源 Openfire 聊天服务器
- HDU2519 新生晚会