如何将shell脚本中的参数传递到内部嵌套的sql文件中?

一个shell中需要调用多个sql文件,主要是创建临时表然后通过where条件读取一些数据。这里的条件主要是日期,现在想从sql的上一层shell中将日期传递到sql文件... 一个shell中需要调用多个sql文件,主要是创建临时表然后通过where条件读取一些数据。这里的条件主要是日期,现在想从sql的上一层shell中将日期传递到sql文件中,应该如何实现呢? 展开
 我来答
徐未知
2012-05-11 · TA获得超过226个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:203万
展开全部
该怎么调用就怎么调用啊
sqlplus ${_username}\/${_password}@${_server} <<HERE>${_log_file}
set SERVEROUTPUT ON SIZE 1000000;
set linesize 32767;
var v_resultcode number;
var v_resultinfo VARCHAR2(500);
exec ${_Proc}('$_Cycle_ID','$_Eparchy_ID',1,31,:v_resultcode,:v_resultinfo);
print v_resultcode v_resultinfo
exit;
HERE
像_Proc[存储过程名称]、_Cycle_ID[日期],_Eparchy_ID[地市编码]都是参数传进来的;
追问
可能我没说太明白。我这里的参数传递时二次传递,第一层从windows传递到shell中,第二层再将这个参数从shell中传递到这个shell中会调用到的sql脚本里。经过多次测试,发觉只能做一层传递,即从windows传递到shell或者从shell传递到sql文件,但是不能直接传递两次从最外层到最内层
追答
噢,你是指类似于一个a.sh调用另外一个b.sh(这个b.sh中调用sql)!如果用export不能传递2层的话;那为何不简单点,先将sql中需要的变量、通过a.sh传给b.sh;b.sh和sql只有一层关系,不就是可以调用了嘛!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式