쉘 I가 다음 SQL 스크립트를 호출 쉘 스크립트 : 이제반환 값은 스크립트
INSERT INTO SEMANTIC.COUNT_STATISTICS (...);
UPDATE SEMANTIC.COUNT_STATISTICS
SET PRNCT_CHANGE = 1.1;
--want to store result of this bellow select statement in model_count variable
select PRNCT_CHANGE
FROM SEMANTIC.COUNT_STATISTICS
WHERE model = '&MY_MODEL'
AND NEW_DATE = (
select max(NEW_DATE)
from SEMANTIC.COUNT_STATISTICS
where MODEL = '&MY_MODEL'
);
, 어떻게 내 쉘 스크립트로 다시이 PERCENTAGE_NUMBER 변수를 반환 할가?
#!/bin/bash
#
# setup oracle, java, and d2rq environment
. /etc/profile.d/oracle.sh
. /etc/profile.d/java.sh
. /etc/profile.d/d2rq.sh
cd /opt/D2RQ
model_count=$(sqlplus user/pass @count.sql 'MODEL')
if ["$model_count" > 0]; then
echo "percentage count is positive"
else
echo "its negative"
내가 마지막 SELECT 문 결과를 원하는이 쉘 스크립트 내 model_count 변수에 저장할 수 다음과 같이
내 쉘 스크립트입니다.
누구나 왜 작동하지 않는지 알 수 있습니까?
[여기]는 KSH 예제있다 (http://asktom.oracle.com/pls/asktom/f/f?p=100:11:0::::P11_QUESTION_ID:430819636473). 그것은 bash (아주 작은 nix 경험)에서 실행되는지 확실하지 않지만 또한 페이지에 bash 토론이 있습니다. 기본적으로이 예제에서는 sed와 grep을 사용하여 모든 SQLPlus 출력에서 쿼리 결과를 추출합니다. –