【发布时间】:2018-12-04 15:14:06
【问题描述】:
我在 Oracle 模式中有一个类型层次结构:
CREATE OR REPLACE TYPE FV AS OBJECT (
idno NUMBER)
NOT FINAL;
/
CREATE TYPE FV_Integer UNDER FV (
features INTEGER_ARRAY)
NOT FINAL;
/
CREATE TYPE FV_Number UNDER FV (
features NUMBER_ARRAY)
NOT FINAL;
/
我想构建一个 PLSQL 函数来验证哪种类型的层次结构是对象:对于函数 dummy(obj1 FV, obj2 FV)... 我如何检查用户的层次结构的对象类型是什么使用?
例如,我想打印对象类型名称(该函数用于说明,它不是真正的pl/sql代码):
dummy(obj1 FV, obj2 FV){
if obj1%type = FV_INTEGER
THEN print 'FV_INTEGER'
endif
if obj2%type = FV_NUMBER
THEN print 'FV_NUMBER'
endif
}
【问题讨论】:
-
不是很清楚你的要求是什么。但是,如果在 Object 下创建 Object,则父对象将变为
SUPERTYPE,您可以从USER_TYPES数据字典中获取SUPERTYPE名称。
标签: oracle oop plsql types oracle12c