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

2025-10-16 12:31:31

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> execute proc_upd_table_name('20160128',420)

SQL> quit;

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

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

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

proc_upd_py_pdar_debt(i_date in char,i_id in number,o_flag out int,o_msg out 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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢