首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle -如何将参数从批处理文件传递到包含PL/SQL过程的SQL文件

Oracle -如何将参数从批处理文件传递到包含PL/SQL过程的SQL文件
EN

Stack Overflow用户
提问于 2017-11-21 09:49:16
回答 1查看 2K关注 0票数 1

我用批处理文件编写了一个命令,该命令调用包含pl/sql过程的.sql文件。但是,我需要在PL/SQL过程中设置a参数,这在批处理文件的整个过程中都很常见。

批处理文件如下所示。

代码语言:javascript
复制
set parameterOne=%1
set parameterTwo=%2


sqlplus -s uid/pwd filepath/filename.sql %parameterOne %parameterTwo

.sql文件中的PL/SQL过程如下。

代码语言:javascript
复制
DECLARE parameterOneValue       INT;
        parameterTwoValue       INT;
BEGIN

parameterOneValue := $(parameterOne);
parameterTwoValue := $(parameterTwo);

//procedure block

END;

我需要将parameterOneparameterTwo属性从批处理文件分别设置为.sql文件中的parameterOneValueparameterTwoValue。有人能提供解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-21 10:11:35

使用集对进行定义,并使用&进行变量替换。

例如,

您的批处理文件:

代码语言:javascript
复制
set parameterOne=%1
set parameterTwo=%2    

sqlplus -s uid/pwd filepath/filename.sql %parameterOne %parameterTwo

PL/SQL块中的SQL*Plus替换:

代码语言:javascript
复制
parameterOneValue := &1;
parameterTwoValue := &2;

&将替换在批处理文件中设置的实际值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47409965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档