typeof 等价于 PL/SQL 中的对象类型
Posted
技术标签:
【中文标题】typeof 等价于 PL/SQL 中的对象类型【英文标题】:typeof Equivalent for Object Types in 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 中有一个。
所以,问题是,有谁知道我可以将用户定义的类型传入并取回其类/类型名称的函数/过程?
谢谢。
【问题讨论】:
【参考方案1】:您可能想使用IS OF <<type>>
syntax。
类似
IF l_variable IS OF( student )
THEN
<<do something>>
END IF;
【讨论】:
/#justin 这是完美的。谢谢。以上是关于typeof 等价于 PL/SQL 中的对象类型的主要内容,如果未能解决你的问题,请参考以下文章