다음에서 잘 작동하는 스크립트가 있습니다 TOAD
.
SELECT max (ID)+1 from apps_details;
쉘 스크립트에서 실행하려고 할 때 오류가 발생합니다.
DB_CONNECT="XXXXX/XXXXX@XXXXXX"
echo "Inserting the DataBase"
/oravl01/oracle/12.1.0.1/bin/sqlplus -s $DB_CONNECT <<END
set head off
set feedback off
set pagesize 2400
set linesize 2048
ID_VAL=`SELECT max (ID)+1 from apps_details;`
exit
END
/pciuser/tools/jenkins/jenkins/scripts/Jenkins_Internal/Create_Jenkins_Container/InsertToDB.ksh[31]: syntax error at line 1: `(' unexpected
31oravl01
행 은 행을 나타내지 만 일단 ID_VAL
할당을 제거하면 작동 하므로 문제가 없다는 것을 알고 있습니다.
그것을 작성하는 올바른 구문은 무엇입니까?
먼저 명령을 정의한 다음 실행하여 출력을 저장하는 것이 훨씬 깨끗하고 간단하다고 생각합니다.
DB_CONNECT="XXXXX/XXXXX@XXXXXX"
read -r -d '' command <<END
set head off
set feedback off
set pagesize 2400
set linesize 2048
SELECT max (ID)+1 from apps_details;
exit
END
echo "Inserting the DataBase"
ID_VAL=$(/oravl01/oracle/12.1.0.1/bin/sqlplus -s "$DB_CONNECT" <<<"$command")
이렇게하면 출력을 변수에 쉽게 저장할 수 있으며 스크립트 흐름과는 별도로 명령을 사용하여 이해하고 나중에 유지 관리하기가 더 쉽습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다