WHEN-CREATE-RECORD的三大定律一大推论

WHEN-CREATE-RECORD的三大定律一大推论:

1.如果BLOCK是可INSERT的,且BLOCK的记录数为0,则在PRE-BLOCK之前必会调用
2.如果BLOCK是当前块,且是可INSERT的,如果记录数为0,则会调用。比如,CLEAR_BLOCK时,执行查询但未查到记录时
3.如果BLOCK得状态是NEW,那么每次FOCUS ON该BLOCK时,都会触发;QUERY,CHANGED不会

WHEN-CREATE-RECORD的一大推论

1.前提:主从块关系,关系的DEFFER=FALSE,从块是可INSERT的

当主块记录从一条移到另一条时,如果从块记录不为0,触发3次WHEN-CREATE-RECORD,为0触发4次WHEN-CREATE-RECORD
证明:

首先GO_BLOCK到从块,CLEAR_BLOCK,运用第二定律,触发一次;
GO_BLOCK到主块,NEXT_RECORD;
GO_BLOCK到从块,运用第一定律,触发一次;
执行查询:首先CLEAR_BLOCK,运用第二定律,触发一次;执行查询;如果查询结果为0,运用第二定律,触发一次;

posted @ 2012-06-04 15:18  刘伟聪  阅读(269)  评论(0编辑  收藏  举报