首页 / ORACLE / Oracle 存储过程学习笔记
Oracle 存储过程学习笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle 存储过程学习笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1701字,纯文字阅读大概需要3分钟。
内容图文
1、存储过程简单实例
CREATE OR REPLACE PROCEDURE 存储过程名称 (参数in,参数out) AS -- 变量声明,每个声明用分号结束。可以在声明的同时初始化 name varchar2(50); age number(8) default0; --开始逻辑运算BEGIN--业务逻辑END
2、游标实现方式、
--显式实现方式(可以实现多值)
cursor cursorVar isselect event_id, isagain, rate from call_event where sender = v_sender; -- 声明游标,select语句可以包括单引号等。beginopen cursorVar; -- 打开游标 loop fetch cursorVar into v_event_id, v_isagain, v_rate; -- 取值 exitwhen cursorVar%notfound; --当没有记录时退出循环 dbms_output.put_line(v_event_id ||‘, ‘|| v_isagain ||‘, ‘|| v_rate); end loop; close cursorVar; -- 关闭游标 --游标的属性有:%FOUND,%NOTFOUNRD,%ISOPEN,%ROWCOUNT; --%FOUND:已检索到记录时,返回true --%NOTFOUNRD:检索不到记录时,返回true --%ISOPEN:游标已打开时返回true --%ROWCOUNT:代表检索的记录数,从1开始 end;
--隐式游标(可以实现查询多值)
for currow in ( select t.col1, t.col2 from tableName t where ... ) loop if currow.col1 =0thenreturn; -- 中止sp,返回 endif; end loop;
--带参数的游标(可以实现查询多值)
declare isok integer ; v_event_id number(10); v_isagain number(2); v_rate number(2); v_sender char(11) :=‘13800138000‘; cursor cursorVar(p_sender varchar2) isselect event_id, isagain, rate from call_event where sender = p_sender; -- 声明游标 beginopen cursorVar(v_sender); -- 打开游标,在括号里传参。 loop fetch cursorVar into v_event_id, v_isagain, v_rate; -- 取值 exitwhen cursorVar%notfound; --当没有记录时退出循环 dbms_output.put_line(v_event_id ||‘, ‘|| v_isagain ||‘, ‘|| v_rate); end loop; close cursorVar; -- 关闭游标 end;
3、异常处理
EXCEPTION WHEN OTHERS THEN vs_msg :=‘ERROR IN xxxxxxxxxxx_p(‘||is_ym||‘):‘||SUBSTR(SQLERRM,1,500); ROLLBACK; --把当前错误记录进日志表。 INSERTINTO LOG_INFO(proc_name,error_info,op_date) VALUES(‘xxxxxxxxxxx_p‘,vs_msg,SYSDATE); COMMIT; RETURN;
原文:http://www.cnblogs.com/liuyp-ken/p/5751550.html
内容总结
以上是互联网集市为您收集整理的Oracle 存储过程学习笔记全部内容,希望文章能够帮你解决Oracle 存储过程学习笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。