sql之Oracle SQL,是否可以在嵌套选择中使用用户定义的数据类型属性
davidwang456
阅读:20
2025-01-19 22:14:33
评论:0
我有一个 PL/SQL 函数,它返回一个具有属性 start_date 的数据类型:
create or replace FUNCTION RETURN_OBJ
RETURN my_obj
IS
obj my_obj;
BEGIN
obj := my_obj(SYSDATE);
RETURN obj;
END;
create or replace TYPE my_obj
AS OBJECT (
start_date DATE
);
我可以在简单的 SELECT 语句中使用该属性,例如
select RETURN_OBJ().start_date FROM DUAL
但是,当我尝试使用虚拟表时(例如,为了避免多个函数调用),我收到一个错误:
select obj.start_date from (select RETURN_OBJ() AS obj FROM DUAL)
ORA-00904: "OBJ"."START_DATE": invalid identifier
我是不是使用了错误的语法,或者这是不可能的? (顺便说一句,尽管客户仍在使用 9,但我正在使用 Oracle 11)
非常感谢。
请您参考如下方法:
括号:-)
select (obj).start_date from (select RETURN_OBJ() AS obj FROM DUAL)
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。