资源描述:
《c#调用oracle存储过程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、子程序是已经命名的PLSQL块,他们存储在数据库中,可以为他们指定参数,可以在客户端和应用程序中调用它们。子程序包括存储过程和函数,程序包是存储过程和函数的集合。存储过程--语法:CREATE[ORREPLACE]PROCEDUREprocedure_name[(parameter_list)]{IS
2、AS}[local_declarations]BEGINexecutable_statements[EXCEPTIONexception_handlers]END[procedure_name];语法说明:procedure_name是过程名字para
3、meter_list是参数列表local_declarations是局部声明executable_statements是可执行语句,execption_handlers是异常处理程序-------createorreplaceprocedurewyd_print(timesnumber)isinumber:=0;beginloopi:=i+1;DBMS_OUTPUT.PUT_LINE('第'
4、
5、i
6、
7、'次循环!!');exitwheni>=times;endloop;end;/直接调用存储过程:execwyd_print(20)executewyd_
8、print(30);过程参数模式调用程序是通过参数向被调用的过程传递值的。参数传递的模式有3种:IN,OUT,INOUT。也就是输入,输出,输入输出定义过程参数的语法:parameter_name[IN
9、OUT
10、INOUT]datatype[{:=
11、DEFAULT}expression]参数IN模式是默认模式如果要指定OUT
12、INOUT模式参数要明确指定---------实例:CREATEORREPLACEPROCEDUREmypar(aINnumber,bOUTnumber,cINOUTnumber)ISBEGINDBMS_OUTPUT.PUT_L
13、INE('a-->'
14、
15、a);DBMS_OUTPUT.PUT_LINE('b-->'
16、
17、b);DBMS_OUTPUT.PUT_LINE('c-->'
18、
19、c);--a:=111;b:=222;c:=333;DBMS_OUTPUT.PUT_LINE('a-->'
20、
21、a);DBMS_OUTPUT.PUT_LINE('b-->'
22、
23、b);DBMS_OUTPUT.PUT_LINE('c-->'
24、
25、c);ENDmypar;/-----declareaanumber:=11;bbnumber:=22;ccnumber:=33;beginDBMS_OUTPUT.PU
26、T_LINE('beforeaa-->'
27、
28、aa);DBMS_OUTPUT.PUT_LINE('beforebb-->'
29、
30、bb);DBMS_OUTPUT.PUT_LINE('beforecc-->'
31、
32、cc);mypar(aa,88,cc);DBMS_OUTPUT.PUT_LINE('afteraa-->'
33、
34、aa);DBMS_OUTPUT.PUT_LINE('afterbb-->'
35、
36、bb);DBMS_OUTPUT.PUT_LINE('aftercc-->'
37、
38、cc);end;/注意几点:(1)IN类型参数在过程中不能再给赋值(2)OUTINOU
39、T类型可以进入后赋值。(3)OUT类型参数在调用过程传入参数时无效,(4)OUT,INOUT类型参数在调用过程时传入的必须是变量---------一个过程创建了,将执行权限授予其他用户语法:GRANTEXECUTEONprocedure_nameTOUSER_Name;//授权给特定用户执行过程的权限GRANTEXECUTEONprocedure_nameTOpublic;//授权给所有数据库用户执行过程的权限查看数据库里面的存储过程:selectobject_namefromuser_objectswhereobject_type='PROCEDU
40、RE';selectsubstr(object_name,1,20)object_name,object_typefromuser_objectswhereobject_type='PROCEDURE';selectsubstr(object_name,1,10)object_name,object_typefromuser_objects;删除一个过程:DROPprocedureprocedure_name;_______________________________________________________________________
41、____________函数的定义和使用__________________________________