shell中调用sql 语句,再将结果返回shell作为变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中调用sql 语句,再将结果返回shell作为变量相关的知识,希望对你有一定的参考价值。

1.$id_num =exec("select id_num from impl_info where name=$1")

2.function run_proc

sqlplus user/passwd @ xxdb <<EOF
set timing on
select id_num from impl_info where name=$1
exit
EOF

id_num= run_proc($1)
echo $id_num

想要根据已经输入的name 通过sql查询得到 id_num,再把id_num作为变量,后继的程序根据$id_num进行判断

用了两种方法去实现,都执行不下去,大家帮看看。

如果方法不对,那请知道怎么做的大大,给教教怎么弄,

1、用sqlldr把数据导出到文件中。
2、再从文件中把数据读出来。
※我们实际项目中是这么做的。

--
以上,希望对你有所帮助。
参考技术A 好像Shell只管执行,执行中即使有错误也不会提示的,我一直觉得很纳闷,如何捕捉Shell中的错误呢?

如何在shell中调SQLPLUS 执行SQL语句

sqlplus命令本身可以卸载shell脚本中,只要环境变量配置了相关的命令路径就可以。
然后编写sql脚本,然后利用sqlplus 用户名/密码@XXX @sql命令文件.sql就可以了。
如果害怕两个@有冲突,那么就设置一个参数=用户名/密码@XXX
然后调用参数,就可以了。
如果还有其他需求,那么就利用sqlplus的set参数,来达到某些目的。
sqlplus的参数,比如-s等,也会有一些用处,这个要自己把握了。
参考技术A 本是同根生,相煎何太急.

以上是关于shell中调用sql 语句,再将结果返回shell作为变量的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入--获取sql-shell

每天三分钟搞定linux shell脚本26 函数返回值

Hibernate 调用存储过程 该语句没有返回结果集

sql动态查询返回值的意义是啥呢?

如何在shell 中将sql语句执行结果写入日志中

在shell脚本执行sql语句为啥会报错