使用when-validate-item检查唯一项目

时间:2012-12-29 19:02:34

标签: oracle triggers oracleforms

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

因此,我对此项使用了触发器when-validate-item,并为全局表单触发了time-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;

//触发when-timer-expired

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

但是在运行时,我收到了这个错误:

  

FRM-40202必须输入字段

1 个答案:

答案 0 :(得分:3)

  1. 为了强制执行唯一性,您应该在表格上使用唯一约束。

  2. 清除项目,你可以在你的w-v-i触发器中为它分配NULL,你不需要一个计时器;但不建议这样做,因为它可能会使用户感到困惑和烦恼。

  3. 您可能正在使用FRM-40202,因为您的计时器试图离开标记为必需的项目。