簡體   English   中英

Oracle-如何將參數從批處理文件傳遞到包含PL / SQL過程的SQL文件

[英]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;

我需要將批處理文件中的parameterOneparameterTwo屬性分別設置為.sql文件中的parameterOneValueparameterTwoValue 有人可以提供解決方案嗎?

使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM