我尝试用对象关系数据库做一些事情。我有Oracle Express和SQL Developer。一切正常。
我可以创建自己的自定义类型并插入一些行。问题是它无法正确显示。我认为通常是因为它们应该在列中显示对象/类型...
是否有解决方案来显示列中的对象?
这是我的代码。 附:我来自德国。 ANSCHRIFT_T是一个地址类型,其名称为发辫(Strasse)和门牌号(Hausnr)。
CREATE OR REPLACE TYPE ANSCHRIFT_T AS OBJECT (STRASSE CHAR(12), HAUSNR CHAR(3));
CREATE TABLE VERTRETER(V_NR NUMBER(4) PRIMARY KEY, ANSCHRIFT ANSCHRIFT_T);
INSERT INTO VERTRETER VALUES (1, ANSCHRIFT_T('TESTWEG','14'));
INSERT INTO VERTRETER VALUES (2, ANSCHRIFT_T('BLA BLA WEG', '25'));
SELECT V_NR, ANSCHRIFT FROM VERTRETER;
但输出就是这样:
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要为表名添加别名,然后可以使用table_alias.object_column.object_attribute
从对象列中选择值。像这样:
<强>查询强>:
SELECT V_NR,
v.ANSCHRIFT.STRASSE,
v.ANSCHRIFT.HAUSNR
FROM VERTRETER v;
<强>输出强>:
V_NR ANSCHRIFT.STRASSE ANSCHRIFT.HAUSNR
---------- ----------------- ----------------
1 TESTWEG 14
2 BLA BLA WEG 25