首页 / ORACLE / 使用oracle的存储过程的例子
使用oracle的存储过程的例子
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用oracle的存储过程的例子,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2312字,纯文字阅读大概需要4分钟。
内容图文
![使用oracle的存储过程的例子](/upload/InfoBanner/zyjiaocheng/901/44721a1a104948d0a8e97259baef4fa3.jpg)
十几年没有用oracle的存储过程了,有些东西已经忘了,没有想到今天又要用。在这里写个例子。
它演示了存储过程的格式,游标的使用,循环、判断的使用,还有直接执行一个拼接的SQL的用法。
以下是代码:
create or replace procedure wanglc_test is v_table_name varchar2(50); v_sql varchar2(4000); cursor cur_get_users is select username, created from all_users; v_username varchar2(50); v_created date; begin dbms_output.put_line(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') || ' call procedure wanglc_test begin...'); open cur_get_users; loop fetch cur_get_users into v_username, v_created; exit when cur_get_users%notfound; dbms_output.put_line(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') || ' ' || v_username || ' -- ' || v_created); if (v_username = 'SYS' or v_username = 'SYSTEM') then dbms_output.put_line(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') || ' ' || v_username || ' is DBA!!!'); /* insert into sys_user(name,created) values('SYS',sysdate) */ v_sql := 'insert into sys_user(name,created) values(''' || v_username ||''',sysdate)'; dbms_output.put_line(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') || ' ' || v_sql); execute immediate v_sql; execute immediate 'commit'; end if; end loop; close cur_get_users; dbms_output.put_line(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') || ' call procedure wanglc_test end.'); end wanglc_test;
如果存储过程编译出错,可以在这里找错误点:
select * from all_errors where name = upper('wanglc_test');
在命令行执行存储过程
SQL> set serveroutput on size 10000000;
SQL> exec wanglc_test;
2019-06-04 23:56:33 call procedure wanglc_test begin...
2019-06-04 23:56:33 ACCT_OSCXK -- 21-5月 -19
2019-06-04 23:56:33 CUST_OCS0520 -- 20-5月 -19
2019-06-04 23:56:33 ACCT0520 -- 20-5月 -19
2019-06-04 23:56:33 WMSYS -- 24-8月 -13
2019-06-04 23:56:33 APPQOSSYS -- 24-8月 -13
2019-06-04 23:56:33 DBSNMP -- 24-8月 -13
2019-06-04 23:56:33 ORACLE_OCM -- 24-8月 -13
2019-06-04 23:56:33 DIP -- 24-8月 -13
2019-06-04 23:56:33 OUTLN -- 24-8月 -13
2019-06-04 23:56:33 SYSTEM -- 24-8月 -13
2019-06-04 23:56:33 SYSTEM is DBA!!!
2019-06-04 23:56:33 insert into sys_user(name,created) values('SYSTEM',sysdate)
2019-06-04 23:56:33 SYS -- 24-8月 -13
2019-06-04 23:56:33 SYS is DBA!!!
2019-06-04 23:56:33 insert into sys_user(name,created) values('SYS',sysdate)
2019-06-04 23:56:33 call procedure wanglc_test end.
PL/SQL procedure successfully completed
另外,可以在plsql developer中右键点击存储过程名称进行测试。此处略。
内容总结
以上是互联网集市为您收集整理的使用oracle的存储过程的例子全部内容,希望文章能够帮你解决使用oracle的存储过程的例子所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。