《存储过程源代码.docx》由会员分享,可在线阅读,更多相关《存储过程源代码.docx(2页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、存储过程源代码.创立无参数过程create or replace procedure output_timeisbegindbrns_session.set_nls(,nls_data_formatVnyyyy-mm-dd hh24:mi:ssn,);dbms_output.put_line(sysdate);end;上述操作创立过程output_time,该过程按照设定的格式输出系统时间。set serveroutput onexec output_time;.创立带输入参数的过程create or replace procedure add_tablel(id table 1 .id%ty
2、pe,name table 1 .name%type) isbegininsert into table 1values(id,name);end;调用过程,在调用时必须为参数赋值exec add_table 1(5,Rincon*);select * from table 1;.创立带有输入输出参数的过程create or replace procedure divide(num l in out number,num2 in out number) is verl number;ver2 number;beginverl :=trunc(numl/num2);ver2:=mod(num 1
3、 ,num2);numl :=verl;num2:=ver2;end;/上述过程divide实现了两数相除及取余的操作。可以看到numl、num2既可以输 入,也可以输出。declarenl number:=&nl;n2 numbe亡二&n2;begindivide(nl,n2);dbms_output.putineC商:|nl,余数为:|n2);end;/1 .维护过程alter procedure divide compile;为了防止过程的运行错误,可以在调用前对过程重新编译,如上所示。通过查询 数据字典usejresource,可以看到子程序名称及源代码,如下所示。select tex
4、t from user_source where name=DIVIDE;TEXT procedure divide(numl in out number,num2 in out number)isverl number;ver2 number;beginverl trunc(numl/num2);ver2:=mod(num 1 ,num2);numl:=verl;num2-ver2;end;通过show errors可以查看创立过程中出现错误的过程,具体如下所示。create procedure error_procisbeginend;/警告:错误show errors;当不再需要一个过程时,可以通过下述命令删除该过程:drop procedure error_proc;