2012-12-29 51 views
-2

我想檢查我的項目在我的數據庫中變得唯一,並且項目存在於數據庫中必須清除(此項目)。使用何時驗證項目檢查唯一項目

因此,我使用此項的trigger-validate-item觸發器,並在全局窗體觸發when-timer-expired時觸發。

這是我的代碼:

//觸發時,驗證項目:

declare 
    i number;  
    vTimer TIMER; 
begin 
    IF //condition then 
     i := show_alert('ERROR');  
     /* Create a timer with a 10 Millisecond delay */ 
     vTimer :=create_timer('TEMP',10,no_repeat); 
    END IF; 
end; 

//觸發時,計時器到期

GO_BLOCK ('name_block');  
:name_block.item1:=NULL; 
DELETE_TIMER('TEMP'); 

但在運行時,我得到此錯誤:

FRM-40202 Field must be entered

回答

3
  1. 要強制唯一性,您應該在表上使用唯一約束。

  2. 要清除該項目,您可以在您的w-v-i觸發器中爲其分配NULL,您不需要計時器;但不建議這樣做,因爲它可能會混淆和刺激用戶。

  3. 您可能正在獲取FRM-40202,因爲您的計時器嘗試遠離標記爲「需要」的項目。