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

shell中怎么获取存储过程的输出参数给变量,第1张

#下面的代码是对于从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_outputput_line(on_value);

dbms_outputput_line(is_citycode);

return on_value;

end;

/

select test_get_param_value_p('501') from dual;

exit

EOF

`

echo "Oracle的输出变量值:"$output

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

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

sql脚本模板

先编辑一个mysqlsql文件,内容如下:

------------

var nret number;

execute :nret := 0;--初始化

call myproc(in_code,:nret)--执行存储过程,in_code会被替换掉

/

select 'retcode[' || :nret || ']retcode' from dual--显示结果

/

quit;

-------------

SHELL脚本myshsh,内容如下

-------------

#/myshsh 123

cd /home/myshell

sed "s/in_code/$1/" mysqlsql > mysql01sql

#根据sql脚本模板生成实际脚本

sqlplus usr/pwd@db result$1txt

#执行sql脚本并把结果输入result$1txt

echo ok!

-------------

在LINUX下执行/myshsh 123,生成result123txt,myproc输出参数在'retcode['和']retcode'之间。

加了 | head -n 1 的目的是防止有多个名字为 test1 的时候出错,加了后就 path1 就总是只等于找到的第一个 test1

cp 加了 -r ,是为了如果找到的是目录,可以拷贝整个目录。

#!/bin/sh

path1=$(find /tmp/ -name "test1" | head -n 1)

cp -r "$path1" /

用下面的语句赋值

ttl=`sed q atxt|awk '{print $2}'`

echo $ttl

不明白autolxdnscomhosts 是哪里冒出来。

read CHOICE

case $CHOICE in

1) mountusb;;

2) umountusb;;

3) display;;

4) cpdisktousb;;

5) cpusbtodisk;;

0) quit;;

) echo "Invalid Choice! Correct Choice is (0--5)"

sleep 4 clear;;

1、CAT命令在用户主目录下创建一名为f1的文本文件,内容:Linux is useful for us allYou can never imagine how great it is。

2、向文件f1增加以下内容:Why not have a try。

3、输入命令“wc   <f1>  countf1”,屏幕上不显示任何信息。

4、输入命令“cat  countf1”,查看countf1文件的内容,其内容是f1文件的行数,和单词数及字符数信息。

5、即f1文件共有3行,19个单词和87的字符。

通过 $ 获取上一次命令执行的结果,0表示成功,非0表示失败。

test -e /mnt/111

if [ $ -eq 0 ]; then

cd /mnt/111

echo "I come here"

else

mkdir /mnt/111

echo "It's created"

fi

也可以先将结果赋给一个变量 ret=`echo $`,然后再判断变量的值是否为0。

以上回答你满意么?

以上就是关于shell中怎么获取存储过程的输出参数给变量全部的内容,包括:shell中怎么获取存储过程的输出参数给变量、unix shell 中如何定义变量获得 find出来的数据、怎么给bash shell当中的变量获取awk行处理后得到的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9479099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存