Mam skrypt powłoki, który wywołuje następujący skrypt SQL:Wartość zwracana z sql skrypt powłoki skrypt
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'
);
Teraz, jak mam wrócić do tej zmiennej PERCENTAGE_NUMBER powrotem do mojego skryptu powłoki?
Mój skrypt wygląda następująco:
#!/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"
Chciałbym do tego ostatniego wyniku SELECT oświadczenia mają być przechowywane w moim model_count zmiennej w skrypcie powłoki.
Ktoś wie, dlaczego nie działa?
jest przykładem ksh [tutaj] (http://asktom.oracle.com/pls/asktom/f/f?p=100:11:0::::P11_QUESTION_ID:430819636473). Nie jestem pewien, czy uruchomi się w bashu (bardzo mało * nix), ale jest też dyskusja na bash na stronie. Zasadniczo w przykładzie użyto sed i grep do wyodrębnienia wyniku zapytania ze wszystkich danych wyjściowych SQLPlus. –