2012-05-29 21 views
0
type NumberTable is table of number index by binary_integer; 

create procedure TestNumberTable 
(
    p_NumTable   IN NumberTable Default Cast(Null as NumberTable) 
) 
as 
    /* code body */ 

兩個問題:檢查UDT表對null在Oracle過程

  1. 如何檢查存儲過程中爲空的參數?

  2. 如何查找計數(*)[即存儲過程中的參數的行計數?

回答

0

不能創建與「由二進制整數索引」一個UDT,你可以這樣做:

create type NumberTable is table of number; 

Q1:由「空性」,你的意思是「是否爲空」?如果是這樣,這將工作:

create procedure TestNumberTable 
(p_NumTable IN NumberTable Default null) 
as 
    if p_NumTable is null then 
    ... 

Q2:對數:

create procedure TestNumberTable 
(p_NumTable IN NumberTable Default null) 
as 
    dbms_output.put_line ('count is '||p_NumTable.count); 
    ...