![](/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.