#!/usr/bin/env bash
sqlplus -s user@lnpfvd1.world/password<<!
declare
var_truc_result VARCHAR2(255);
begin
brr_truncate_generic_procedure('TABLE_NAME', var_truc_result);
end;
/
!
我们正在调用brr_truncate_generic_procedure
,它在变量var_truc_result
内设置一些值(成功/失败)。
我们只想在unix shell变量中使用这个变量,这样我们就可以根据它来设置一些逻辑。
答案 0 :(得分:0)
我现在无法自己测试,但这样的事情应该有效:
result=`sqlplus / <<SCRIPT| grep ^result | sed "s/^result: //"
set serveroutput on
declare
var_truc_result VARCHAR2(255);
begin
brr_truncate_generic_procedure('TABLE_NAME', var_truc_result);
dbms_output.put_line( 'result: ' || var_truc_result);
end;
/
exit
SCRIPT`
echo var_truc_result is: $result
您也可以尝试
select var_truc_result as "answer"
from dual
代替dbms_output行,但你需要调整grep / sed
修改:
我在AskTom上发现了this讨论,它提供了上面的一些变体等,这可能也有帮助