從一個 bat 檔案中,我正在使用一個以相同方式呼叫 SQL/Plus 的行程:
@echo off
start sqlplus user/password@instance_name file.sql <instance_name>
echo End of process
pause
在 file.sql 我有類似的東西:
SET FEEDBACK OFF
SET UNDERLINE OFF
SET PAGESIZE 0
SET VERIFY OFF
SET SCAN ON
SET HEADING OFF
SET RECSEP OFF
SET TRIMSPOOL ON
SET FEEDBACK OFF
SET TERMOUT OFF
SET LINESIZE 1000
SET BLOCKTERMINATOR OFF
set instance_name=<FROM PARAMETER>
SET VERIFY ON
SET HEADING ON
EXIT
如何獲取在 SQL/Plus 中作為引數傳遞的名稱?
uj5u.com熱心網友回復:
利用 &1
從檔案中,SQL/Plus 命令具有以下語法:
SQLPLUS [ [Options] [Logon|/NOLOG] [Start] ]
然后START引數:
開始
@{url|file_name[.ext]} [arg ...]指定要運行的腳本和引數的名稱。可以從本地檔案系統或 Web 服務器呼叫該腳本。
SQL Plus 將引數傳遞給腳本,就像使用 SQL Plus START 命令執行檔案一樣。如果沒有指定檔案后綴(檔案擴展名),則使用 SET SUFFIX 命令定義的后綴。默認后綴是 .sql。
有關詳細資訊,請參閱
START命令。
然后對于START命令:
arg ...您希望傳遞給腳本中引數的資料項。如果您輸入一個或多個引數,SQL*Plus 會將這些值替換為腳本中的引數(
&1、&2等)。第一個引數替換 的每次出現&1,第二個引數替換 的每次出現&2,依此類推。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/417581.html
標籤:
