我在批处理文件中编写了一个命令,该命令调用包含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;
我需要分别在.sql文件中将批处理文件中的parameterOne
,parameterTwo
属性设置为parameterOneValue
,parameterTwoValue
。任何人都可以为此提供解决方案吗?
答案 0 :(得分:0)
使用设置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;
&
将替换您在批处理文件中设置的实际值。