문제

ISQL을 사용하여 Sybase에서 저장 프로 시저를 실행하는 AIX 배치 작업이 있습니다. 저장된 절차는 특정 조건에서 오류 코드를 반환합니다. ISQL이 해당 리턴 코드를 AIX 스크립트로 전달하기를 원합니다.

ISQL 내에 저장된 Proc의 리턴 코드를 캡처하거나 어떤 종류의 출력 파일을 작성하고 AIX 스크립트를 확인해야합니까?

ISQL 명령의 모습은 다음과 같습니다. Korn Shell 스크립트 내부에서 실행 중입니다.

isql -D$database -S$server -U$userId -P$password << EOF
EXEC MY_STORED_PROC $AN_INPUT_PARAMETER
go
EOF
도움이 되었습니까?

해결책

내가 정확하게 기억한다면, $? 명령 리턴 값으로 설정됩니다. 다음에 이와 같은 것을 추가하십시오 EOF 선:


if [[ $? != 0 ]]; then
    print "stored procedure failed"
    exit
fi

다른 팁

이것이 당신이 달성하고 싶었던 것입니까?

isql -D$database -S$server -U$userId -P$password << EOF | grep RETVAL | awk -F"=" '{print $2}' | read value
declare @retval int
EXEC @retval = MY_STORED_PROC $AN_INPUT_PARAMETER
SELECT "RETVAL=" + convert(varchar, @retval)
go
EOF

echo "Procedure returned: $value"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top