如何在表中查看用户对象类型? (PL / SQL)

时间:2013-11-27 22:49:43

标签: sql oracle plsql

在我的程序中,我需要创建自己的对象类型 - 分数 我可以创建它:

 CREATE OR REPLACE TYPE fraction AS OBJECT (   integer number,     numerator number,    denominator number);

可以使用像分数

这样的列创建表格
 CREATE TABLE own_table (first fraction, second fraction);

这都是o.k.如何自己查看像分数一样的列?可能是一些方法或其他什么?列只有我的分数类型。 Nessesary只为用户更改表中的视图。

重新结果:

SELECT * FROM own_table;

+first +++++ second  
1(1/2) ++++  2(49/203)  
3(32/34) ++ 12(3/7)

1 个答案:

答案 0 :(得分:2)

您可以使用点分表示法来访问对象成员,但在选择时,您似乎必须使用表名的别名。

您也无法命名列integer

如果您只是想select * from something,您需要在桌面上查看。 例如

CREATE OR REPLACE own_view (first, second) AS 
SELECT ot.first.i || '(' || ot.first.numerator || 
'/' || ot.first.denominator || ')',
ot.second.i || '(' || ot.second.numerator || 
'/' || ot.second.denominator || ')' 
FROM own_table ot;

Fiddle here.

此外,还有一些docs访问Oracle对象类型。