2016-06-24 58 views
0

我需要在過程中顯示一個空值列名的列。 每一個幫助將不勝感激。在pl中創建一個空列名的新列sql

Procedure ** IS  
    result varchar2(100); 
    cursor a 
    IS 
     select 
      A, 
      B, 
      C, 
       CASE B is null then 'B' else '' end result 
    from table 
      where A is null or B is null or C is null 
    Begin 
      ........ 
    END; 

如果列A和C對於特定記錄有空值,我需要包含在結果變量中。

的例外結果

A | B | C | Result 
-- | ----| ----| ----- 
1 | null| 1 | B 
null| 2 | null| A C 
+0

請表現出一定的樣本數據。 –

+0

我可以使用一個列,但要查找更多的列。 – Cherry

回答

0

DECODE可以用來顯示如果兩個柱A和C具有空值的如下:

DECODE(A, NULL, DECODE(C, NULL, 'A and C are NULL', ''), '') 
+0

如果我有10列,會發生什麼情況。 – Cherry

+0

您必須使用DECODE或NVL2列出10列。如果是檢查特定行的所有列是否爲空,則可以創建一個例程,該例程使用all_tab_cols返回一個遊標並生成一個動態sql。 – bvoleti