3

我正在尝试在 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 中有一个方法。

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

谢谢。

4

1 回答 1

5

您可能想要使用IS OF <<type>>语法

就像是

IF l_variable IS OF( student )
THEN
  <<do something>>
END IF;
于 2013-01-22T20:13:33.167 回答