오류 코드를 나타내는 OUT 매개 변수가있는 저장 프로 시저가 있습니다. 오류 코드가 0이 아닌 경우에, 나는 오류 지금까지SQL * Plus : 강제로 오류 코드를 반환합니다.
DECLARE
BEGIN
foo (err_code);
IF (err_code <> 0) THEN
raise_application_error(...);
END;
너무 좋은에게 인상,하지만 여기 내 질문입니다.
이 코드 조각 (위 그림 참조)은 sqlplus에 의해 실행됩니다. sqlplus는 쉘 스크립트에서 호출되며 0/0이 아닌 sql 스크립트로 종료해야합니다.
#shell script
sqlplus ... @myscript
return $?
raise_application_error가 실행되면 제어는 sqlplus로 돌아갑니다.
sql>
내가 원했던 것은 sqlplus가 0을 $로 반환하지 않고 쉘로 다시 나가는 방법입니까?
의견이 있으십니까? 미리 감사드립니다.
감사합니다. – Tom
우리는'sqlerror exit sql.sqlcode' 명령을 실행합니다.이 명령은 조금 더 많은 정보를 스크립트의 호출자에게 돌려줍니다. SQLPlus가 일종의 OS 레벨 오류로 넘어가는 경우에 대비하여'oserror exit 1 '을 수행합니다. –