-3

我想检查我的项目是否在我的数据库中变得唯一,并且数据库中存在的项目必须是明确的(这个项目)。

所以我对这个项目使用触发 when-validate-item 并为表单全局触发 when-timer-expired。

这是我的代码:

//触发when-Validate-item:

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 必须输入字段

4

1 回答 1

3
  1. 要强制唯一性,您应该在表上使用唯一约束。

  2. 要清除该项目,您可以在 wvi 触发器中为其分配 NULL,您不需要计时器;但不建议这样做,因为它可能会混淆和激怒您的用户。

  3. 您可能会收到 FRM-40202,因为您的计时器试图导航离开标记为必需的项目。

于 2012-12-30T06:05:12.813 回答