如何在表中查看用户对象类型?(pl/sql)
在我的程序中,我需要创建自己的对象类型-分数。如何在表中查看用户对象类型?(pl/sql),sql,oracle,plsql,Sql,Oracle,Plsql,在我的程序中,我需要创建自己的对象类型-分数。 我可以这样创建它: CREATE OR REPLACE TYPE fraction AS OBJECT ( integer number, numerator number, denominator number); 可以创建包含分数等列的表 CREATE TABLE own_table (first fraction, second fraction); 都没问题。如何创建自己的柱状分数视图?可能是一些方法或其他什么?列
我可以这样创建它:
CREATE OR REPLACE TYPE fraction AS OBJECT ( integer number, numerator number, denominator number);
可以创建包含分数等列的表
CREATE TABLE own_table (first fraction, second fraction);
都没问题。如何创建自己的柱状分数视图?可能是一些方法或其他什么?列只能键入我的分数。需要为用户更改表中的仅视图
重新查询的结果:
SELECT * FROM own_table;
+first +++++ second
1(1/2) ++++ 2(49/203)
3(32/34) ++ 12(3/7)
您可以只使用点符号来访问对象成员,但在选择时似乎必须使用别名作为表名 您也不能为列命名
integer
如果您只想从某个中执行选择*,则需要在表上显示一个视图。
例如
另外,还有一些关于访问Oracle对象类型的问题。你不明白我的意思。我知道如何得到我类型的结构的一部分。我需要在表中设置我的类型的视图的方法或方式。例如,当我从表中选择*时,我的表具有参数为1 2 5的记录。我希望选择返回1(2/5)我已经更新了答案,并拨弄。。。基本上,您需要一个视图来执行此操作。
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;