我有一个bash脚本
$sqlplusconn是到我的带有sqlplus的Oracle示例的连接
$foo是一个数字
$sqlplusconn << EOF
BEGIN
@bar.sql $foo
@foo.sql $foo
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;
[... other stuff]
问题是,当我执行shell脚本时,$foo被传递给了sql脚本,但是所有在参数之后的“其他东西”都作为参数传递给了sql脚本。当我读到异常时,它声明“COMMIT”作为参数传递。我有问题,但我不知道如何解决
我试图在@foo.sql $mytvariable语句的末尾加上一个问号,但没有成功。
1条答案
按热度按时间sg3maiej1#
所以我认为你想要的是运行两个SQL脚本,并假设它们工作,然后提交。如果有什么失败了,就把它卷回去。如果是这样的话,这里有一个解决方案: