oracle使用set_block_property来禁止删除

By simon at 2018-02-28 • 0人收藏 • 123人看过

我需要在下面放置代码以及使用什么触发器?

BEGIN
    if :BLOCK1.TEXTBOX is not null then
        SET_BLOCK_PROPERTY ('BLOCK2', DELETE_ALLOWED, PROPERTY_FALSE);   
    end if;
END;
我想要的是禁用删除,如果:BLOCK1.TEXTBOX不为空。

2 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

这取决于。 它可能是块1上的WHEN-VALIDATE-ITEM (block1.textbox)或POST-QUERY(如果它是从块中提取的) 数据库)或PRE-BLOCK (block2)。 不要原谅如果文本框为空,则允许DELETE。 或者,您可以使用KEY-DELREC,然后可能会稍微修改为

if :block1.textbox is not null then
   message('Delete is not allowed because textbox is not empty');
   raise form_trigger_failure;
end if;

2018-02-28   #2

这取决于。 它可能是块1上的WHEN-VALIDATE-ITEM (block1.textbox)或POST-QUERY(如果它是从块中提取的) 数据库)或PRE-BLOCK (block2)。 不要原谅如果文本框为空,则允许DELETE。 或者,您可以使用KEY-DELREC,然后可能会稍微修改为

if :block1.textbox is not null then
   message('Delete is not allowed because textbox is not empty');
   raise form_trigger_failure;
end if;

登录后方可回帖

Loading...