SELECT 결과를 shell 변수로 가져오기

내 이 세상 도처에서 쉴 곳을 찾아보았으나, 마침내 찾아낸, 컴퓨터가 있는 구석방보다 나은 곳은 없더라.

SELECT 결과를 shell 변수로 가져오기

select한 결과를 shell에서 참조해야 하는 경우 다음과 같이 하면 된다.

방법 1

#!/bin/ksh
VALUE=`sqlplus -silent "user/passwd@sid" < set pagesize 0 \
feedback off verify off heading off echo off
select max(c1) from t1;
exit;
END`

if [ -z "$VALUE" ]; then
echo "No rows returned from database"
exit 0
else
echo $VALUE
fi

방법 2

#!/bin/ksh
sqlplus -s > null "usr/passwd@sid" < column num_rows \
new_value num_rows format 9999
select count(*) num_rows
from table_name;
exit num_rows
EOF
echo "Number of rows are: $?"