如果我运行以下脚本,我会收到错误 SP2-0552:未声明变量" 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
如果要在 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
#!/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