当前位置:首页 » 存储配置 » shell函数调用存储过程

shell函数调用存储过程

发布时间: 2024-09-17 15:46:53

1. shell调用oracle存储过程

#!/bin/sh
sqlplusabc/passwd<<EOF
setlinesize500;
setpagesize10000;
spooloutput.txt
calla1();
calla2();
calla3();
commit;
spooloff
quit;
EOF

大概就是这个方式。

需要修改一下oracle用户密码,如果存储过程有参数还需要修改调用的地方。

2. oracle存储过程中调用一个shell脚本,用于进行一些操作,已经赋权限,但是执行不了

shell的环境变量问题,你在shell内部的变量是获取不到外部执行结果的。

3. shell中怎么获取存储过程的输出参数给变量

#下面的代码是对于从oracle的sqlplus返回变量值给shell的例子
output=`sqlplus -s unitele/lemontea << EOF
set heading off feedback off verify off
drop function test_get_param_value_p;
CREATE OR REPLACE function test_get_param_value_p
(
is_citycode in varchar2
)
return varchar2
is
on_value varchar2(100);
begin
on_value :='100000';
dbms_output.put_line(on_value);
dbms_output.put_line(is_citycode);
return on_value;
end;
/
select test_get_param_value_p('501') from al;
exit
EOF
`
echo "Oracle的输出变量值:"$output
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
存储过程 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 al--显示结果
/
quit;
-------------
SHELL脚本mysh.sh,内容如下
-------------
#./mysh.sh 123
cd /home/myshell
sed "s/in_code/$1/" mysql.sql > mysql01.sql
#根据sql脚本模板生成实际脚本
sqlplus usr/pwd@db result$1.txt
#执行sql脚本并把结果输入result$1.txt
echo ok!
-------------
linux下执行./mysh.sh 123,生成result123.txt,myproc输出参数在'retcode['和']retcode'之间。

4. 如何写一个shell脚本调用写好的oracle存储过程

#!/bin/ksh
sqlplus -S user/password <<EOF
exec procre();
exit;
EOF

5. shell调用Oracle存储过程问题

以下为proc.sh文件内容:
sqlplus user/password <<!
exec proc_name;
exit
!

其中proc_name是存储过程的名字
user/password是存储过程所在用户的用户名和密码

6. shell脚本里怎样调用plsql存储过程

对于存储我是不很了解,但是可以通过这种方式来调用oracle的sqlplus。

#catsql.sh

#!/bin/bash

su-oracle-c'

sqlplus-S/assysdba<<EOF

selectstatusfromv$instance;

exit

EOF

'

#bashsql.sh
STATUS
------------------------
OPEN

7. linux下shell调用oracle存储过程的问题

被锁定的话,你可以是做不了的。等待也是没用的啊,只要被锁了,永远你也做不了。除非解锁了。应该先去检查为何被锁吧。 调用存储过程,返回结果可以有,得看你的存储过程怎么写了,可以在存储过程里增加返回值的。

热点内容
数据库时区 发布:2024-11-24 18:28:30 浏览:613
板的塑性算法 发布:2024-11-24 18:17:59 浏览:28
酷狗缓存乱码 发布:2024-11-24 18:12:42 浏览:508
aes算法模式 发布:2024-11-24 17:47:19 浏览:611
linux查看端口是否占用 发布:2024-11-24 17:42:15 浏览:466
手机电影天堂的文件夹 发布:2024-11-24 17:39:08 浏览:689
吉林金税盘安全服务器地址 发布:2024-11-24 17:39:00 浏览:277
360无法访问网络 发布:2024-11-24 17:32:48 浏览:558
普通员工解压拓展注意什么细节 发布:2024-11-24 17:32:06 浏览:435
安装密码锁为什么要在里面缠胶带 发布:2024-11-24 17:27:59 浏览:981