【问题标题】:typeof Equivalent for Object Types in PL/SQLtypeof 等价于 PL/SQL 中的对象类型
【发布时间】:2013-01-22 20:02:41
【问题描述】:

我正在尝试在 Oracle 中使用 OOP 和 TDD。是的,我知道这听起来很疯狂。而且,我需要一些建议。

我正在为以下构造函数方法编写测试(为本问题的目的进行了简化):

CONSTRUCTOR FUNCTION PERSON(p_pidm NUMBER, p_throw_exception NUMBER DEFAULT 0, p_program_id NUMBER DEFAULT 0)
RETURN SELF AS RESULT IS

BEGIN

    -- Attach constructor parameters to internal attributes
    self.throw_exception := p_throw_exception;
    self.program_id := p_program_id;

    -- TESTING STUDENT INSTANTIATION
    self.student := NEW STUDENT(self.a_pidm);

    RETURN;
END;

在相应的测试中,我需要验证self.student 是否设置为STUDENT 的有效实例。在其他语言中,我使用 typeof 方法来执行此操作,但我不知道 PL/SQL 中有一个。

所以,问题是,有谁知道我可以将用户定义的类型传入并取回其类/类型名称的函数/过程?

谢谢。

【问题讨论】:

    标签: sql oracle plsql oracle11g


    【解决方案1】:

    您可能想使用IS OF <<type>> syntax

    类似

    IF l_variable IS OF( student )
    THEN
      <<do something>>
    END IF;
    

    【讨论】:

    • /#justin 这是完美的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多