如何在oracle 10g中获取行的对象标识符?

如何在oracle 10g中获取行的对象标识符?,oracle,ordbms,Oracle,Ordbms,我是使用Oracle 10g express edition的ORDBMS新手,必须获取对象表中每一行的对象标识符。我使用下面的例子 CREATE TYPE person AS OBJECT( name VARCHAR2(20) ); CREATE TABLE person_table OF person; INSERT INTO person_table VALUES ( person('Test') ); 已成功创建类型person和表person\u表。该行已插入,我可以使用 SELE

我是使用Oracle 10g express edition的ORDBMS新手,必须获取对象表中每一行的对象标识符。我使用下面的例子

CREATE TYPE person AS OBJECT(
name VARCHAR2(20)
);

CREATE TABLE person_table OF person;
INSERT INTO person_table VALUES ( person('Test') );
已成功创建类型person和表person\u表。该行已插入,我可以使用

SELECT * from person_table;
但是执行

SELECT REF(p) FROM person_table p;
给出以下错误:

ORA-00932:不一致的数据类型:预期数量获得参考系统人员


如何获取表中每一行的对象标识符?任何帮助都将不胜感激。

我发现错误是指SYS.PERSON。您是否以SYS用户的身份创建了对象和表?如果是,请尝试将其创建为“普通”用户,而不是SYS用户。

您的意思是
rowid
?=>?我试着从一个正常的帐户也这样做,但它给出了相同的错误。