b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

关系是通过什么来实现关系之间的关联的_关系一个关系_关系中实现实体(26)

电脑杂谈  发布时间:2017-03-13 01:06:13  来源:网络整理

则禁止在父表中删除相应的记录。 举例如下,这里仍然以管路和管道这一从属关系模式为例: FWrH DELETE TRIGGERJXZY.TDBPIPE BEFORE CREATE ON JXZY.PIPE_PATH ROW FOREACH DECLARE Intergrity—errorexception; Error interger; char 200 ; Errmsg Dummyinteger; Foundboolean; Cursor NUM number is elkl_pipe_path v≈JIPE_PATH Selectl PIPE From NUM PATH WherePIPEPATHNUM var.PIPE is NOTNULL VilE R^THNUM ANDPIPE BEGIN Openefkl_pipe_path :old.PIPE_PATH_NUM ; Fetch into dummy; elkl_.pipe_path Found: efkl pipe__path%FOUND; efkl Close pipe_path; If notfoundthen Error: '-2001 1’; Errmsg: “管道表中无此管路号,禁止删除”; Raise integrity_error; EXCEPTION then When error intefrity Begin Raise_application_error error,errmsg ; END; 可以看处这里提出的DA和DB触发器,在操作上是互相排斥的,因为这两个触发器如果并存,将有一个触发器实际上失去效用,所以这两个触发器是分开使用的。

Update类触发器: uA类型,即Update的事后触发器:更新父表中的主键值时,相应地更新子表中的对应的主键值分段编码。当然这种对主键值的更新一般是被认为不正常的操作.一般也不会采取。它的触发器实现举例如下,该例子是管路对管道的UA触发器:CREATETRIGGER AFTER UPDATE JXZYTUA—.PIPE—.PATHON JXZY.PIPE_PATH ROWFoREACHdeclare integrity_errorexception; errno integer; errmsg char 200 ; dummy integer; found boolean;begin IntegrityPackage.NextNestLevel; code all in”PIPE” --Modify children parentof”PIPE_PATH”for if updatin甙‘PIPEPATH_NUM。 and:old.PIPE_PATH_NUMthen PIPE update PATH set PIPEPATHNUM :new.PIPE NUM where NUM; PIPE—PATH_NUM2:old.PIPE_PATH endif;exception when then integrity_error begin IntegrityPackage.1nitNestLevel; raise—application_error errno,errmsg ; end;end; UB类型,即Update的事先触发器:当更新父表中的主键值时,如表中还存在相应的外键值 同时也是下层子表中的主键值 与之对应,那么这种更新操作将被禁止。

它的触发器实现举例如下。这种触发器维护与上述的UA触发器是相背的,所以不能同时对~张表共存;另外当更新下层的主键值时,查看其中的与上层实体主键对应的部分 即下层实体的外键 是否也被更新,若没有,则次此操作被认为是违法的。 AFTER TRIGGER UPDATECREATE JXZY.TUA_PIPE_PATHON JXZY.PIPE_PATH ROWFOREACHdeclare 43 integrity_errorexception; errno integer; errmsg char 200 ; dummy integer; found boolean; Cursor efkl-pipe..path var_PIPE_PATH—NUMnumber is SelectI FromPIPE WherePIPEPATHNUM var.PIPEPATHNUM AND is NOTNULL var_PIPE_.PATH—NUMbegin IntegrityPackage.NextNestLevel; efkl Open pipe_path :old.PIPEPATH』uM ; Fetch into efkl_pipe_pathdummy; Found: efkl_pipe_path%FOUND; Close efkl_pipe_path; If notfoundthen Error: ’-20011’: Errmsg: “管道表中无此管路号,禁止更新”: Raise integrity~error; EXCEPTION When then inteffi砂.error Begin Raise_application_error error,errmsg ; END: Insert类触发器: IA类型,即lnsert的事后触发器:在从属关系模式中,这里没有这种约束。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-37192-26.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...