资源描述:
《存储过程例子和oracle中executeimmediate的使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、存储过程例子里边的sql语句需要拼写成字符串的格式:createorreplaceprocedurePrc_Update_Record(LICENSE_NUMBERinvarchar2,LICENSE_STARTinvarchar2,LICENSE_ENDinvarchar2,REGIONSTRinvarchar2,SPESTRinvarchar2,YEARSTRinvarchar2,NUMinvarchar2,IDinvarchar2,tpinvarchar2)isv_sqlvarchar2(4000);BEGINi
2、ftp='01'then--更新表T_LICE_PUBLIC_PLACEv_sql:='Updateadminlice.T_LICE_PUBLIC_PLACEtsett.license_number='''
3、
4、LICENSE_NUMBER
5、
6、''',t.license_start='''
7、
8、LICENSE_START
9、
10、''',t.license_end='''
11、
12、LICENSE_END
13、
14、''',t.regionstr='''
15、
16、REGIONSTR
17、
18、''',t.spestr='''
19、
20、SPESTR
21、
22、''',t.y
23、earstr='''
24、
25、YEARSTR
26、
27、''',t.num='''
28、
29、NUM
30、
31、'''wheret.id='''
32、
33、ID
34、
35、'''';DBMS_OUTPUT.PUT_LINE('Numberofemployeeswithhighersalary:'
36、
37、ID
38、
39、'LICENSE_NUMBER:'
40、
41、LICENSE_NUMBER);executeimmediatev_sql;commit;endif;ENDPrc_Update_Record;executeimmediate的语法如下:executeimmediate's
42、ql';executeimmediate'sql_select'intovar_1,var_2;executeimmediate'sql'using[in
43、out
44、inout]bind_var_1,[in
45、out
46、inout]bind_var_2;executeimmediate'sql_select'intovar_1,var_2using[in
47、out
48、inout]bind_var_1,[in
49、out
50、inout]bind_var_2;executeimmediate'sql'returningintovar_1;
51、executeimmediate'sql'bulkcollectintoindexed_var;用法实例:Declare v_tablevarchar2(20); v_sqlVarchar2(100); Begin v_table:='hqf.testtable'; v_sql:='select*from'
52、
53、v_table; dbms_output.put_line(v_table); dbms
54、_output.put_line(v_sql); ExecuteImmediatev_sql; End;Declare v_sidInteger:=20020101; v_sqlVarchar2(100); v_resultVarchar2(50);Begin --v_sid:=12; v_sql:='Selectlocintov_resultfromscott.deptdwhered.deptno=:1'; dbms_output.put_
55、line(v_sql); --dbms_output.put_line(v_result); ExecuteImmediatev_sql Using10; Commit;End;--动态命令的实用参考一(select..into)--Executeimmediate命令在使用into关键字时与静态的plsql块中--into关键字使用方法上的区别。declarev_resultvarchar2(20);beginexecuteimmediate'selectdnamefromscott.dept
56、dwhered.deptno=:1'Intov_result --:1这是一个绑定变量Using70;commit;dbms_output.put_line('结果为:'
57、
58、v_result);end;--绑定变量,通俗的讲就是一个占位的参数,而后用using中的常量或着变量去找它的相应Declarev_resultVarcha