>  기사  >  데이터 베이스  >  Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果

Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果

WBOY
WBOY원래의
2016-06-07 16:51:373178검색

存储过程 myproc(in_num in number,out_num out number)sql脚本模板mysql.sql{var nret number;execute :nret := 0;--初始化call

存储过程 myproc(in_num in number,out_num out number)

sql脚本模板mysql.sql
{
var nret number;
execute :nret := 0;--初始化

call myproc(in_code,:nret)--执行存储过程,in_code会被替换掉
/
select 'retcode[' || :nret || ']retcode' from dual--显示结果
/
quit;

}

SHELL脚本mysh.sh
{
#./mysh.sh 123
cd /home/myshell

sed "s/in_code/$1/" mysql.sql > mysql01.sql
#根据sql脚本模板生成实际脚本

sqlplus usr/pwd@db.my result$1.txt
#执行sql脚本并把结果输入result$1.txt

echo ok!

}

在Linux下执行./mysh.sh 123,,生成result123.txt,myproc输出参数在'retcode['和']retcode'之间。 

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.