shell script 를 잘모르다가 급하게 작업할게 생겨서 하다보니 벽에 부딫히네요.
도움 부탁드립니다.
1. 아래 shell을 실행했을때
#!/usr/bin/ksh
RESULT=`sqlplus $DB_USER/$DB_PASS@$DB_SERV << EOF
set pagesize 0 feedback off ver off heading off echo off
select count(1)+100 from dual;
exit
EOF`
echo $RESULT
======>
select는 101 정상적으로 되는데, $RESULT 에 값이 안담깁니다 ㅡㅡ;; 문법이 잘못된건지 지적이라도 부탁드립니다.
2. shell에서 procedure호출할때 OUT 값을(정상일경우 0) 받아서 다시 shell에서 EXIT $? 로 return하려 하는데,
procedure는 정상적으로 실행되지만
SQL> SP2-0584: EXIT variable "x" was non-numeric 이렇게 나오고, x값을 제대로 못가져 옵니다.
procedure에서 OUT parameter를 shell 변수에 담을수 있는 방법이 있나요?
#!/usr/bin/ksh
var=`sqlplus $DB_USER/$DB_PASS@$DB_SERV << EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
var x number ;
EXEC AAA.PROC_AAA(:x);
print x;
exit x;
EOF`
echo "*************************************************************"
echo "DATA COUNT=$?"
echo "*************************************************************"
if [[ `echo $?` -eq 0 ]]
then
echo "SUCCEED "
exit $?
else
echo "FAIL"
exit 1
fi
읽어주셔서 감사합니다..
|