编写存储过程和写脚本的思路是一样的,不一样的地方在于语法,现在通过一个简单的存储过程,给大家介绍下oracle存储过程的基本语法:
1 create or replace procedure proc_search_table as --定义存储过程名称 2 var_owner varchar2(100):=''; --定义存储过程中使用的变量 3 var_name varchar2(100):=''; 4 var_exists varchar2(10):='0'; 5 cursor mycur is --定义游标 6 SELECT OWNER,table_name FROM DBA_TABLES t where t.OWNER in ('ZXJS','GNU_BI','GROUPBESTTONE','ZXCF') ; 7 begin 8 open mycur; --打开游标 9 loop --开始循环 10 fetch mycur --得到游标 11 into var_owner,var_name; --将遍历游标的值存在之前定义的变量中 12 select nvl(count(1),0) into var_exists from dba_source t where t.text like '%'||var_name||'%'; 13 if var_exists = '0' then --如果条件成立执行下面操作 14 insert into huzj_pro_search_table_20160715 values(var_owner,var_name); 15 else --否则执行下面操作 16 insert into huzj_pro_search_table_20160715 values('1','1'); 17 end if; 18 exit when mycur%notfound; --当游标遍历完成,退出循环 19 end loop; 20 commit;--提交事务 21 end proc_search_table;