【发布时间】:2015-08-11 19:38:30
【问题描述】:
您好,我需要检索参数名称在不同参数中的参数值。
假设proc如下
PROCEDURE findValue
(
p_date IN VARCHAR2,
p_name IN VARCHAR2,
p_class IN VARCHAR2,
p_paramname IN VARCHAR2,
)
IS
现在假设我想将p_paramname 传递为p_date 并在PL/SQL 块中进一步使用p_date 参数的值,我该如何使用它?
【问题讨论】:
-
您要解决的业务问题是什么?显然,您可以有一个
IF块来查看p_paramname的不同值,并根据值执行不同的代码位。然而,我猜这不是你要问的...... -
嗨,贾斯汀,我正在尝试制作一个包装程序,它可以调用具有不同数量参数的不同类型的函数。我想他们的方式是获取要传入的参数顺序(
p_name,p_class)让我们说p_paramname,并进一步使用函数调用中的值。 -
您的包装程序将调用的各种程序之间的关系是什么?如果您尝试构建一些非常动态的东西,那么您可能会错误地解决问题。但是,如果包装过程将调用的过程本质上都非常相似,那么它们的签名也应该相似。
-
被调用的各种程序的签名不同,为了向后兼容,我现在无法更改它。被调用的各种函数是独立的,我想使用这个包装器来动态调用它们中的任何一个,这样我就可以将它与其他应用程序一起使用。
-
您要支持多少个可能的参数集?您可以使用动态 PL/SQL,但这通常会产生相当复杂的代码,很难支持、维护和调试。
标签: database oracle plsql procedure