暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

GaussDB SQL语法进阶—触发器

触发器

  • 触发器是一个与表相关联的数据库对象,并在表发生特定事件的时候被激活;
  • 触发器的关键要素
    • 触发器关联的对象:与触发器相关联的表名,是永久性表,不能是临时表或视图;
    • 触发时间:触发器被触发的时刻,包括before和after,表示触发器是在语句之前或之后触发;
    • 触发事件:用于指定激活触发器的语句的种类,包括insert|update|delete;
    • 触发器主体:触发器动作主体,包含触发器激活时将要执行的SQL语句;
  • 创建触发器
create [definer = user] trigger trigger_name trigger_time trigger_event on tbl_name for each row [trigger_order] trigger_body trigger_time:{before | after} trigger_event:{insert | update | delete} trigger_order:{follows | precedes} other_trigger_name
  • 删除触发器
drop tirgger [if exiest] [schema_name.]trigger_name
  • 查看触发器
show triggers
  • for each row:一般指行级触发,对于受触发事件影响的每一行都要激活触发器的动作。例如,使用insert语句向某个表中插入多行数据时,触发器会对每一行数据的插入都执行相应的触发器动作。
  • 三种触发事件说明
    • insert:将新行插入表时激活触发器。例如,insert的before触发器不仅能被insert语句激活,也能被load data 语句激活;
    • delete:从表中删除某一行数据时激活触发器,例如delete和replace语句;
    • update:更改表中某一行数据时激活触发器,例如update语句;
  • trigger_body:可以是begin…end语句;
  • trigger_order:指定多个触发器之间的顺序;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论