【发布时间】:2010-12-23 15:32:29
【问题描述】:
Oracle 和对象:
我有一个包含多种类型对象的表(通过使用继承),但我想
知道每个的实际类型(使用循环和?)。这里有isInstanceOf()这样的功能吗?
请举个例子
提前致谢
【问题讨论】:
Oracle 和对象:
我有一个包含多种类型对象的表(通过使用继承),但我想
知道每个的实际类型(使用循环和?)。这里有isInstanceOf()这样的功能吗?
请举个例子
提前致谢
【问题讨论】:
CREATE OR REPLACE TYPE TEST_OBJ AS OBJECT (
field1 VARCHAR2(20),
field2 NUMBER(10)
);
然后你可以使用 SYS.ANYDATA 类型。
DECLARE
t_test_obj TEST_OBJ;
v_anydata SYS.ANYDATA;
BEGIN
t_test_obj := TEST_OBJ('ABC',123);
v_anydata := SYS.ANYDATA.ConvertObject(t_test_obj);
DBMS_OUTPUT.PUT_LINE('OBJECT TYPE IS : '||v_anydata.GetTypeName());
END;
【讨论】:
你想要的是OF TYPE 子句。
【讨论】: