【问题标题】:How to call a PL/SQL procedure that takes a custom type as a parameter?如何调用以自定义类型为参数的 PL/SQL 过程?
【发布时间】:2010-01-29 14:50:50
【问题描述】:

我有以下(我无法更改,提供给我使用):

TYPE Person_Rec IS RECORD(
ID NUMBER(10),
Name VARCHAR2(30),
Age Number(10));

PROCEDURE Modify_Person(rec IN Person_rec, option IN NUMBER)
IS
BEGIN
...
END;

如何使用一些 SQL 语句从外部调用 Modify_Person - 从 SQL 控制台或 C++ 等?如何将参数包装到 Person_Rec 中?

【问题讨论】:

    标签: sql plsql


    【解决方案1】:

    我看不到任何从 C++ 或 SQL 控制台执行此操作的简单方法。我建议你创建一个包装器包,并添加一个像这样的过程:

        PROCEDURE MyPackage.Modify_Person(id IN NUMBER, 
                                          name IN VARCHAR2, 
                                          age IN NUMBER, 
                                          option IN NUMBER)
    

    并从包装器中调用原始过程。

    【讨论】:

    • 我希望我能做一些类似'call modify_person(Person_Rec(123,'john',30),99999)'的事情
    • @John: iirc,只有在使用构造函数定义类型(和类型主体)时才能这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2015-01-22
    • 2018-08-04
    • 1970-01-01
    • 2015-06-18
    • 2015-01-19
    相关资源
    最近更新 更多