我正在使用Oracle的控制台 Database Express Edition ,我正在使用自己的数据类型创建数据库。一切都可以创建和插入新数据,但是当我从我的数据类型中选择时,例如“direccion”,Oracle会返回错误00932,“不一致的数据类型”。
我执行此代码:
CREATE TYPE lista_tel_t AS VARRAY(10) OF VARCHAR2(20) ;
CREATE TYPE direccion_t AS OBJECT (
calle VARCHAR2(200),
ciudad VARCHAR2(200),
prov CHAR(2),
codpos VARCHAR2(20)
) ;
CREATE TYPE cliente_t AS OBJECT (
clinum NUMBER,
clinomb VARCHAR2(200),
direccion direccion_t,
lista_tel lista_tel_t
) ;
CREATE TABLE cliente_tab OF cliente_t(clinum PRIMARY KEY);
当我从类型中选择时出现问题,例如:
SELECT direccion FROM cliente_tab;
当我选择它时,它会返回以下错误:
ORA-00932: inconsistent datatypes: expected NUMBER got DIRECCION_T
我的问题是...... 如何进行选择并正确显示结果?
答案 0 :(得分:0)
尝试:
SELECT direccion.calle,
direccion.ciudad,
direccion.prov,
direccion.codpos
FROM cliente_tab;
或者,如果您想在PL / SQL中使用对象,您可以尝试批量将表格收集到一组对象中。
有关详细信息,请参阅Oracle® Database Object-Relational Developer's Guide