Oracle以Sqlplus命令方式执行带参数的存储过程

时间:2024-10-12 09:31:40

1、在使用Oracle数据库过程中,常规的执行存储过程(procedure)的方式有两种:

一是在类似PL/SQL Developer的工具软件上点击界面按钮的方式执行,若有传入参数可以在测试窗口的值域中填入相应的参数值,再继续调试和运行,传出参数会在运行完成后自动显示;

二是用Sqlplus命令行的方式:

proc_upd_table_name.prc为编写好的存储过程,在末尾需加上一行内容为/

SQL> @proc_upd_table_name.prc;

SQL>alter procedure proc_upd_table_name compile;

SQL> executeproc_upd_table_name('20160128',420)

SQL> quit;

此处的存储过程proc_upd_table_name有两个参数,均为传入参数,语句alter procedure proc_upd_table_namecompile为重新编译该存储过程,executeproc_upd_table_name('20160128',420)为执行。

2、如若用Sqlplus命令行的方式执行带有传出参数的存储过程该如何进行?

经测试可以采取下面的方式:

proc_upd_py_pdar_debt(i_datein char,i_id in number,o_flag out int,o_msgout varchar)

SQL>var flag number;

SQL> var msg varchar2(256);

SQL>exec proc_upd_table_name('20160128',420,:flag,:msg)

SQL> print flag

SQL> print msg

注意:传出参数前加 :

打印传出参数的值用print

© 手抄报圈