linux下shell脚本中sqlplus调用shell变量的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下shell脚本中sqlplus调用shell变量的问题相关的知识,希望对你有一定的参考价值。

我编写一个shell脚本,从中定义了一些变量,存放的是时间,而脚本中又要调用sqlplus来操作数据库,这时,sqlplus就要需要用到脚本中在进入sqlplus中定义的时间变量。我是我运行脚本的时候,出现了一些问题。直接使用报变量找不到的错误,如果在sqlplus中定义变量来做二次传递,却又丢失了时间,只剩下日期。

请帮帮忙。

1、登陆用户
su - oracle -c sqlplus crm_uat/crm_uat << EOF
....
EOF
或者在oracle用户下运行
sqlplus crm_uat/crm_uat << EOF
....
EOF
2、用sysdate代替$DATE试试。
3、你的日期包含空格,变量应该加引号
参考技术A insert语句中的环境变量都用引号引起来试试,如:
( '$DATE',1,to_date( '$START','......')本回答被提问者采纳

以上是关于linux下shell脚本中sqlplus调用shell变量的问题的主要内容,如果未能解决你的问题,请参考以下文章

无法在 PHP 页面创建的 shell 脚本中执行 sqlplus 命令

shell脚本执行.sql文件

shell传参数到sql文件中

在shell脚本中调用sql语句

Linux下如何执行Shell脚本

linux shell脚本如何启动一个java进程