![](/img/trans.png)
[英]Oracle : Select distinct doesn't work when cursor inside a cursor (using cursor expression)
[英]How to check if Cursor Expression(select cursor) is returning null?
我有一个带有多个内部选择游标的选择游标表达式。 我想检查最外面的select游标是否内部游标返回任何值。 例如。,
SELECT
CURSOR
(SELECT
CURSOR
(SELECT c.cat_name category ,
CURSOR
(SELECT
CURSOR
(SELECT grp.grpng
GROUPING ,
grp.action_group action_group ,
CURSOR
(SELECT
CURSOR
(SELECT header_id ,
order_no ,
cust_name ,
cust_phone ,
org ,
status `enter code here`,
reason
FROM headers h
WHERE h.header_id = da.header_id ) "G_HEADER"
FROM dual) "LIST_G_HEADER"
FROM action_group grp
WHERE grp.grpng = da.grpng
AND grp.action_grp = da.action_grp ) "G_ACTION"
FROM action_rep da
WHERE da.org = 'test'
AND da.cat_id = c.cat_id
ORDER BY category,
GROUPING,
reason ) "LIST_G_ACTION_GROUP"
FROM dual ) "G_CATEGORY"
FROM dual ) "LIST_G_CATEGORY" ,
c.category_name
FROM cat c
ORDER BY c.cat_name
我需要检查一下“ LIST_G_CATEGORY”游标的结果是否为空,如果为空,则不显示该行。 PS:请忽略列名不匹配,因为查询是急于在此处发布的。
版本:Oracle 11g R2
为了检查游标是否为空 ,应该首先fetch
它。
这意味着,你可以箱子一个function
(可能使用SYS_REFCURSOR
)将返回1
或0
因此,当cursor
是空的或不-但你应该知道的rowtype
的cursor
回报,为了做到这一点。
检查此参考
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.