美文网首页
数据库里面触发器的使用-外界触发来发生某种行为

数据库里面触发器的使用-外界触发来发生某种行为

作者: 璇风 | 来源:发表于2020-05-26 11:11 被阅读0次

背景:

自动化测试往往会产生很多脏数据, 需要建立一种机制, 来定期删除数据

策略:建立触发器, 实时删除某些数据

Final:

1. 创建函数delete_old_lalala_antities()

delete from lalala_antit where lalala_name like '%rrr_lalala_antities_automation1%' and lalala_antit_id <(select max(lalala_antit_id) from lalala_antit)-3;

创建触发器:

CREATE TRIGGER delete_old_lalala_antities AFTER INSERT ON lalala_antit 

FOR EACH ROW EXECUTE PROCEDURE delete_old_lalala_antities();

create trigger delete_old_lalala_antities after insert on lalala_antit for each statement execute procedure delete_old_lalala_antities();

查看创建的触发器:

https://www.postgresql.org/docs/12/plpgsql-trigger.html#PLPGSQL-DML-TRIGGER

Command:

select * from pg_trigger; 查看触发器

\df+ ------- 查看function

\dy+ -------查看事件触发器

\sf asdf2() ----查看function 详se

DROP TRIGGER asdf2 ON lalala_antit; ----删除trigger. Drop 

insert into lalala_antit(lalala_name) values ('hello'). ------ 插入数据命令

改动一个function 

CREATE OR REPLACE FUNCTION delete_old_lalala_antities () 

 RETURNS TRIGGER AS $delete_antit$

 BEGIN delete from lalala_antit where lalala_name like '%rrr_lalala_antities_automation1%' and lalala_antit_id <(select max(lalala_antit_id) from lalala_antit)-10;

return NULL; END; 

$delete_antit$ LANGUAGE plpgsql

$delete_antit$ LANGUAGE plpgsql

相关文章

  • 数据库里面触发器的使用-外界触发来发生某种行为

    背景: 自动化测试往往会产生很多脏数据, 需要建立一种机制, 来定期删除数据 策略:建立触发器, 实时删除某些数据...

  • MySQL触发器

    在本节中,您将学习如何使用MySQL触发器。 根据定义,触发器或数据库触发器是自动执行以响应于在表中发生的特定事件...

  • 「SQLite学习笔记」 触发器(Trigger)

    SQLite 的触发器是数据库的回调函数,它会自动执行/指定的数据库事件发生时调用。以下是关于SQLite的触发器...

  • 触发器

    同一动作不能创建两个触发器 触发器:trigger, 枪击,扳击,引线的意思一触即发, 作用: 监视某种情况并触发...

  • sql触发器过滤某些数据

    使用触发器过滤某些特定的数据(pg数据库)

  • 时间管理行为触机 听课笔记

    这里面讲到暗示可以使大脑进入某种自动行为模式,并决定使用某种行为习惯。暗示-惯常行为-奖励。心理暗示,从未来看现在。

  • MySQL学习笔记(六):触发器

    触发器概念 什么是触发器 触发器是一种与表操作有关的数据库对象,当触发器所在表上发生指定事件时,将调用该对象,即表...

  • 【曦雨】《游戏化实战》拆书19

    R B=MAT,是行为发生的一个公式。行为behaviour=动力motivation+能力ability+触发器...

  • MySQL必会知识点学习

    1、触发器 什么是触发器? 为什么要使用触发器? 如果你想某些SQL语句在事件发生时自动执行。EG: 1)每当订购...

  • Sqlsever 触发器

    第一次使用触发器的时候发现批量插入数据时,只有一条数据会触发触发器 原来触发器不是数据单条去触发,而是一次操作会触...

网友评论

      本文标题:数据库里面触发器的使用-外界触发来发生某种行为

      本文链接:https://www.haomeiwen.com/subject/upjmahtx.html