당신은 SQLPLUS에 매개 변수를 전달할 수 있지만 SQLPLUS 명령으로 PL/SQL을 혼합 할 수 없습니다. 그래서 당신의 모범은 날지 않을 것입니다. 따라서 쉘 스크립트로 포장해야 할 수도 있습니다. 그러나 PL/SQL 루틴을 살펴보면 경로를 추가하려고 시도합니다. 어쩌면 이것은 가능합니다.
호출이
sqlplus user/[email protected] @genericscript.sql path
같은 SQLPLUS 그리고 다음 같이 myscript.sql 다음
select 'hello welt' from dual;
그래서 내가 가진이 내용이 내 예에서 genericscript.sql
SET SERVEROUTPUT ON
start &1.myscript.sql
quit
내 SQLPlus의 출력
[[email protected] sqp]$ sqlplus user/[email protected] @genericscript.sql /home/oracle/sqp/
SQL*Plus: Release 11.2.0.2.0 Production on Tue May 14 22:53:15 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
'HELLOWELT
----------
hello welt
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
희망이 있습니다. SQLPLUS 참조 매뉴얼을 볼 수 있습니다.
http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_five.htm#autoId13
은 내가 PDF를 선호
http://docs.oracle.com/cd/E11882_01/server.112/e16604.pdf
출처
2013-05-14 20:30:31
hol
왜 Oracle 내에서 실행하고 있습니까? 스크립트 일 필요가있는 경우 스케줄러를 사용하지 않는 이유는 무엇입니까? 스크립트 일 필요가없는 경우 패키지/프로 시저에 배치하고 데이터베이스 내에서이를 스케줄하십시오. 귀하의 질문에 대한 답변으로 당신 clob에 그것을 읽고 dbms_sql을 사용하여 실행 ... 그것은 단순한 절차 또는 cron 전화해야 무엇에 대한 거대한 잔인한 것 같아. – Ben
@Ben, 이것은 개발 환경입니다. 우리는 다른 소프트웨어 구성 요소의 유효성 검사를위한 스키마를 빌드하는 외부 그룹의 수백 개의 한 줄 DDL 스크립트를 가지고 있습니다. – ThomasMcLeod
나는 오라클에서 왜 그렇게해야하는지 아직 모르겠다. 수백 가지가 있다면 그 모든 것을 하나의 쉘 스크립트에 넣고 실행하십시오. 당신이 원한다면'grep'과'awk'를 적절히 사용하여 한줄로 모두 실행할 수 있습니다 ... – Ben