sqlplus 退出并传递任意数字
sqlplus exit and pass any number
我发现 sqlplus 的退出函数应该与变量和绑定变量一起使用。最后,即使是“exit success”和“exit failure”选项结合 if-decision 也能完成这项工作。我尝试了一些变体:
test.sql:
L_return INT;
l_return:=test_func_returns_1();
exit l_return;
/
但这一切都没有运行正常。我想,一旦我用匿名块包装我的代码,出口将不再有效,对吧?你能帮助我吗?
许多问候,
彼得
最后,与其说是 EXIT,不如说是变量的问题。绑定变量、输出参数和匿名块缩写的组合有效:
test_package:
procedure test (some_var OUT INT) As
begin
some_var:= 77;
end;
test.sql:
variable my_var number
execute test_package.test(:my_var)
exit :my_var
/
test.cmd
call sqlplus %dbuser% test.sql
echo Result %errorlevel% >> %log%
日志
Result 77
PS:根据https://blogs.oracle.com/opal/sqlplus-101-substitution-variables#3,应该可以全局定义绑定变量并将它们设置在匿名块中。但是我 运行 这样做出错了。
我发现 sqlplus 的退出函数应该与变量和绑定变量一起使用。最后,即使是“exit success”和“exit failure”选项结合 if-decision 也能完成这项工作。我尝试了一些变体:
test.sql:
L_return INT;
l_return:=test_func_returns_1();
exit l_return;
/
但这一切都没有运行正常。我想,一旦我用匿名块包装我的代码,出口将不再有效,对吧?你能帮助我吗? 许多问候, 彼得
最后,与其说是 EXIT,不如说是变量的问题。绑定变量、输出参数和匿名块缩写的组合有效:
test_package:
procedure test (some_var OUT INT) As
begin
some_var:= 77;
end;
test.sql:
variable my_var number
execute test_package.test(:my_var)
exit :my_var
/
test.cmd
call sqlplus %dbuser% test.sql
echo Result %errorlevel% >> %log%
日志
Result 77
PS:根据https://blogs.oracle.com/opal/sqlplus-101-substitution-variables#3,应该可以全局定义绑定变量并将它们设置在匿名块中。但是我 运行 这样做出错了。