[英]Oracle - How to pass a parameter from batch file to SQL file which contains a PL/SQL procedure
我在批處理文件中編寫了一個命令,該命令調用一個包含pl / sql過程的.sql文件。 但是我需要在批處理文件中的整個過程中通用的PL / SQL過程中設置一個參數。
批處理文件如下。
set parameterOne=%1
set parameterTwo=%2
sqlplus -s uid/pwd filepath/filename.sql %parameterOne %parameterTwo
.sql文件中的PL / SQL過程如下。
DECLARE parameterOneValue INT;
parameterTwoValue INT;
BEGIN
parameterOneValue := $(parameterOne);
parameterTwoValue := $(parameterTwo);
//procedure block
END;
我需要將批處理文件中的parameterOne
, parameterTwo
屬性分別設置為.sql文件中的parameterOneValue
和parameterTwoValue
。 有人可以提供解決方案嗎?
使用SET DEFINE ON ,並使用&
進行變量替換。
例如,
您的批處理文件:
set parameterOne=%1
set parameterTwo=%2
sqlplus -s uid/pwd filepath/filename.sql %parameterOne %parameterTwo
PL / SQL塊中的SQL * Plus替換:
parameterOneValue := &1;
parameterTwoValue := &2;
&
將替換您在批處理文件中設置的實際值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.