如何创建过程,您可以在其中选择要使用的属性

时间:2012-08-08 13:58:18

标签: sql plsql procedure

例如,我将创建此过程

Create procedure MyProc (name varchar2:='', married varchar2:='', surname varchar2:='') IS
...
...
...
END;

现在我希望有时候像这样使用它

MyProc (name=>'George', married=>'NO');

有时我需要像这样使用它

MyProc (name=>'Warren', surname=>'Palas');

有时我需要像这样使用它......

MyProc (name=>'Joey', married=>'YES', surname=>'BigJoey');

我如何获得此状态?感谢您的每一条建议

1 个答案:

答案 0 :(得分:0)

按如下方式指定您的程序并使用“=>”进行调用你已经做过的方法应该实现这一点。

PROCEDURE MyProc (name IN yourtable.name%type, 
married IN yourtable.married%type := NULL,
surname IN yourtable.surname%type := NULL)

通过默认规范中的参数,它使参数成为“可选参数”。 没有默认值的参数称为必需参数。

您还可以在包中指定您的过程并重载它。 重载过程意味着在同一个包中创建具有相同名称的多个过程。如何调用过程确定实际的哪个过程被执行。

决定走哪条路可能取决于每种呼叫类型所需的处理之间的不相似程度。通常,重载是代码抽象,结构和维护目的的良好实践。