Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在表中查看用户对象类型?(pl/sql)_Sql_Oracle_Plsql - Fatal编程技术网

如何在表中查看用户对象类型?(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;