0
点赞
收藏
分享

微信扫一扫

PowerDesigner技巧2 触发器模板

定义一个触发器模板,该模板可以被所有的表使用,如果要修改触发器时,只需要修改触发器模板即可。



[size=x-large][color=darkred]一、定义触发器模板[/color][/size]



1、添加触发器模板



[img]http://dl.iteye.com/upload/attachment/0072/8841/73d67afd-dacd-3ff0-8962-38503a587b58.png[/img]



2、现有的触发器模板列表



[img]http://dl.iteye.com/upload/attachment/0072/8843/2a2de56b-50a1-303a-ac18-227b03c223de.png[/img]



3、创建一个触发器模板:



[img]http://dl.iteye.com/upload/attachment/0072/8845/d1d26db1-86bb-3133-b6cc-d40b2b57e0a2.png[/img]



[img]http://dl.iteye.com/upload/attachment/0072/8847/77e1c0c8-f0e9-3e42-8f5b-449cd0a3f365.png[/img]



4、编写模板名称:



[img]http://dl.iteye.com/upload/attachment/0072/8849/6c3bedb4-02de-3291-9aa0-d62240dc91e5.png[/img]



5、编写触发器语句:



[img]http://dl.iteye.com/upload/attachment/0072/8851/3ed24ba1-a2ed-3abb-8e1e-72200b59c88e.png[/img]



下面给出db2、mysql的触发器语句:


db2:


CREATE TRIGGER TRG_%TABLE%_UPDATE_TIME


before


UPDATE


ON %TABLE% REFERENCING NEW AS newrow FOR EACH ROW MODE db2sql


SET


newrow.UPDATE_TIME = CURRENT TIMESTAMP



mysql:


create trigger %TRIGGER%


before


update


on %TABLE% for each row


SET NEW.UPDATE_TIME = CURRENT_TIMESTAMP




[size=x-large][color=darkred]二、用户表 通过触发器模板 添加触发器:[/color][/size]



[img]http://dl.iteye.com/upload/attachment/0072/8853/9b32970f-2949-36ac-b27e-834b812ab8e6.png[/img]



[img]http://dl.iteye.com/upload/attachment/0072/8855/a12755d2-e98a-3921-82a5-f1947b45bde0.png[/img]



[img]http://dl.iteye.com/upload/attachment/0072/8857/592a3026-be12-3a14-ad96-798fa830bbbb.png[/img]



选择Definition,并选择我们定义好的模板:



[img]http://dl.iteye.com/upload/attachment/0072/8859/7936712e-34b9-3844-8358-3f59789dab00.png[/img]



[img]http://dl.iteye.com/upload/attachment/0072/8861/b90b5da0-b36c-392b-af6d-b9b152ecedb9.png[/img]


举报

相关推荐

0 条评论