簡體   English   中英

如何檢查游標表達式(選擇游標)是否返回null?

[英]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 )將返回10因此,當cursor是空的或不-但你應該知道的rowtypecursor回報,為了做到這一點。

檢查此參考

oracle光標表達式

關於stackoverflow的類似問題

檢查sys ref游標是否為空-stackoverflw

ref游標rowcount問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM