我试图执行一个存储过程,其中包含一个输入(varchar)和一个输出(boolean)参数,来自sql*plus。
我所拥有的:
ALTER session SET nls_language='AMERICAN';
set serveroutput on;
declare bResult boolean;
exec procedureName('TEST', bResult);
/
exit;
我得到的是:
PLS-00103: Encountered the symbol 'end-of-file' when expecting one of the following:
begin function pragma procedure subtype type <an identifier>
我正在从一个批处理脚本调用sqlplus,我需要调用这个过程,并根据该过程的结果继续执行批处理脚本(bresult)。
在sql developer中,我可以成功地执行过程并使用以下命令返回输出(在sqlplus中不起作用):
ALTER session SET nls_language='AMERICAN';
set serveroutput on;
declare bResult boolean;
begin
procedureName('TEST', bResult);
dbms_output.put_line(sys.diutil.bool_to_int(bResult));
end;
我能做些什么使它与sql*plus一起工作?
2条答案
按热度按时间yjghlzjz1#
以下在sql*plus中使用(不要忘记结尾
/
):hlswsv352#
实际上,您是使用
declare
,您需要使用匿名块,如下所示: