检查 oracle 表单多记录块中的重复值
check duplicate values in oracle forms multi record block
我想要的是当我移动到下一行时,如果我插入的记录已经是多记录块中的记录之一,则显示一个警告。
我必须把它放在什么触发器中?
您可以使用多个选项。
一个是POST值输入(在WHEN-NEW-RECORD-INSTANCE)触发。嗯,它会 post 您目前输入的所有内容。然后,您可以编写一个 WHEN-VALIDATE-ITEM
触发器 which SELECTs
from that table 并检查这样的值是否已经存在。或者,如果那个(那些)列上有 UNIQUE CONSTRAINT
,数据库将自己完成它的工作,即引发异常。
另一种选择是 循环 遍历块中的所有行,并将第一行的值与所有其他行进行比较,然后将第二行的值与所有行的值进行比较,依此类推。
或者,您可以使用 记录组(通常用于值列表)。基本上,您会检查您输入的值是否存在于记录组中。有关 Craig's blog.
的更多信息以及 FMB 文件
或者,您可以使用计算项,如enter link description here所述(也附有 FMB)。
如您所见,有很多方法可以做到这一点;探索它们中的每一个,然后选择您认为最有用/最有吸引力/最容易实施的一个。
我想要的是当我移动到下一行时,如果我插入的记录已经是多记录块中的记录之一,则显示一个警告。
我必须把它放在什么触发器中?
您可以使用多个选项。
一个是POST值输入(在WHEN-NEW-RECORD-INSTANCE)触发。嗯,它会 post 您目前输入的所有内容。然后,您可以编写一个 WHEN-VALIDATE-ITEM
触发器 which SELECTs
from that table 并检查这样的值是否已经存在。或者,如果那个(那些)列上有 UNIQUE CONSTRAINT
,数据库将自己完成它的工作,即引发异常。
另一种选择是 循环 遍历块中的所有行,并将第一行的值与所有其他行进行比较,然后将第二行的值与所有行的值进行比较,依此类推。
或者,您可以使用 记录组(通常用于值列表)。基本上,您会检查您输入的值是否存在于记录组中。有关 Craig's blog.
的更多信息以及 FMB 文件或者,您可以使用计算项,如enter link description here所述(也附有 FMB)。
如您所见,有很多方法可以做到这一点;探索它们中的每一个,然后选择您认为最有用/最有吸引力/最容易实施的一个。