PostgreSQL触发器

发布者:admin 发布时间:2019-10-26 21:54 浏览次数:

yiibai.comPostgreSQL的触发器是数据库自动执行\指定的数据库事件发生时调用的回调函数。预计约束触发器违反他们所实施的限制时引发异常..yiibai.comFOR EACH ROW触发器被标记的操作修改的每一行被称为一次。如果没有提供WHEN子句,PostgreSQL的语句执行的所有行。类似的方式,也可以创建触发器,UPDATE和DELETE操作根据要求。相比之下,FOR EACH STATEMENT触发器为只执行一次对于任何给定的操作,不管它有多少行修改。这里的ID是审计记录ID,EMP_ID的ID来自COMPANY表,日期将保持公司表时的记录将被创建时间戳。要修改的表必须存在,在同一数据库中的表或视图,触发器被附加,必须使用表名而不使用database.tablename。   为了保持审核的测试,我们将创建一个新的表被称为审计将被插入日志消息每当有一个新的记录条目表COMPANY:BEFORE,AFTER或INSTEAD OF关键字决定何时触发动作将被执行,相对于插入,修改或移除相关的行。约束时指定的选项创建一个约束触发器。让我们考虑一个情况下,我们要保持审核COMPANY表中的每一条记录被插入,我们将创建新如下(如果已经创建过,那么删除COMPANY表)现在,让我们开始COMPANY表插入记录,这将导致在审核表中创建审计日志记录。如果有多个相同类型的触发器定义了相同的事件,他们将被触发名称是按字母顺序排列。所以,现在让我们创建一个触发器,COMPANY表如下:yiibai.com同时审核表中创建一条记录。这条记录是一个触发我们已经创建了COMPANY表上的INSERT操作的结果。因此,让我们创建一个COMPANY表记录如下:yiibai.comPostgreSQL的触发可以指定触发操作前尝试一行(在检查约束之前INSERT,UPDATE或DELETE)或操作完成后(在检查约束之后和INSERT,UPDATE或DELETE(删除)已完成),或替代的操作(在视图上插入,更新或删除的情况下)..WHEN子句和触发器动作可能访问的行元素被插入,删除或更新使用的形式umn-name和OLD.column-name,其中列名是从表中的列名的引用该触发器相关联的。这是一个普通的触发器除外,可以调整使用SET(设定)约束的触发器触发的定时相同。以下是有关PostgreSQL的触发器的要点:如果提供WHEN子句,PostgreSQL的报表只执行WHEN子句为true的行!
上一篇:用D触发器组成分频器    下一篇:电子触发器作用?