如果我运行以下脚本,我收到错误 SP2-0552:绑定变量" OUTRES"没有宣布。 那么,如何定义绑定变量OUTRES以及在何处定义?
#!/usr/bin/bash
sqlplus -s scott/tiger << EOF
declare ret varchar2(10):= '0';
begin
begin
insert into mytab(col1) values(1);
exception
when others then
ret:=ret||'1';
end;
select ret into :OUTRES from dual;
end;
/
quit
EOF
答案 0 :(得分:6)
如果要在sqlplus
中声明绑定变量。使用VAR
关键字。
sqlplus -s scott/tiger << EOF
VAR OUTRES NUMBER;
BEGIN
NULL; /* Your Statements */
END;
/
EOF
您还可以尝试quit :OUTRES
和
quit :OUTRES
EOF
MYRESULT=$?
echo $MYRESULT
它在UNIX
输出返回状态。
#!/usr/bin/bash
sqlplus -s scott/tiger << EOF
VAR OUTRES NUMBER;
declare ret varchar2(10):= '0';
begin
begin
EXECUTE IMMEDIATE 'insert into mytab(col1) values(1)';
exception
when others then
dbms_output.put_line(SQLERRM);
ret:=ret||'1';
end;
:OUTRES := ret;
end;
/
quit :OUTRES
EOF
MYRESULT=$?
echo $MYRESULT
答案 1 :(得分:0)
#!/usr/bin/bash
sqlplus -s scott/tiger << EOF
declare
ret varchar2(10):= '0';
OUTRES varchar2(10);
begin
begin
insert into mytab(col1) values(1);
exception
when others then
ret:=ret||'1';
end;
select ret into OUTRES from dual;
dbms_output.put_line('Value of OUTRES is' || OUTRES);
end;
/
quit
EOF