Oracle存储过程详解
来源:互联网 发布:易幻网络待遇怎么样 编辑:程序博客网 时间:2024/06/06 12:54
1、基本结构
7、带参数的cursor
CREATE [OR REPLACE ] PROCEDURE 存储过程名字 (argument1 [ mode1 ] datatype1,argument2 [ mode2 ] datatype2,…) IS 变量1 INTEGER := 0 ;变量2 DATE ;BEGIN-- 存储过程操作执行体END 存储过程名字
2、SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN --异常处理,在业务需要时可以<span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px;">Rollback</span>; END; ...3、IF 判断
IF V_TEST=1 THEN BEGIN do something END; END IF;或
IF 条件1 THEN-- 表达式1ELSIF 条件2 THEN-- 表达式2...END IF;4、while 循环
WHILE i < 10 LOOPBEGINi := i + 1 ; -- 业务处理END ;END LOOP ;5、变量赋值
V_TEST := 123;6、用for in 使用游标cursor
... IS CURSOR cur IS SELECT * FROM 表名;BEGINFOR cur_result IN cur LOOPBEGINV_SUM := cur_result.列名1 + cur_result.列名2END ;END LOOP ;END ;
7、带参数的cursor
CURSOR C_USER (条件1 NUMBER) IS SELECT * FROM 表名 WHERE 条件列1 = 条件1;OPEN C_USER (变量值);LOOP FETCH C_USER INTO V_NAME;EXIT FETCH C_USER % NOTFOUND;-- 处理逻辑END LOOP;CLOSE C_USER;8、异常处理
...BEGIN...EXCEPTION -- 下面所有处理都为可选WHEN NO_DATA_FOUND THEN处理1; -- 未查找到数据异常处理WHEN ACCESS_INTO_NULL THEN处理2; -- 为定义对象...WHEN OTHERS THEN<span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px;">Rollback; -- </span>其他异常处理,此处为事例END ;
0 0
- oracle存储过程详解
- oracle存储过程详解
- Oracle存储过程详解
- Oracle存储过程详解
- Oracle存储过程详解
- Oracle存储过程详解
- Oracle存储过程详解
- Oracle存储过程详解
- oracle中存储过程详解
- Oracle存储过程详解(自己)
- oracle中存储过程详解
- Oracle存储过程详解(一)
- Oracle存储过程详解(二)
- oracle存储过程超级详解
- oracle 9i存储过程详解
- oracle存储过程详解-开发技术
- Oracle存储过程详解(一)
- Oracle中存储过程详解(二)
- SCF架构开发:Maven+weblogic+eclipse开发总结
- UITextView使用总结
- markdown转为html及pdf
- spring源码解析-Ioc1
- 考虑实现Comparable接口
- Oracle存储过程详解
- 4.7编写一个函数,从一个字符串中去除多余的空格。
- 如何优化程序员的内部培训
- DOM、JDOM、DOM4J的区别
- 人类视觉感知【4】立体图像的质量评价
- 电脑电源问题,导致攒机电脑无法开机
- 虚拟机环境linux网络配置
- 评分卡模型剖析(woe、IV、ROC、信息熵)
- 自动清理归档