重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
语法说明如下。
成都创新互联公司是专业的泾源网站建设公司,泾源接单;提供网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行泾源网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1) 触发器名
触发器的名称,触发器在当前数据库中必须具有唯一的名称。如果要在某个特定数据库中创建,名称前面应该加上数据库的名称。
2) INSERT | UPDATE | DELETE
触发事件,用于指定激活触发器的语句的种类。
注意:三种触发器的执行时间如下。INSERT:将新行插入表时激活触发器。例如,INSERT 的 BEFORE 触发器不仅能被 MySQL 的 INSERT 语句激活,也能被 LOAD DATA 语句激活。DELETE: 从表中删除某一行数据时激活触发器,例如 DELETE 和 REPLACE 语句。UPDATE:更改表中某一行数据时激活触发器,例如 UPDATE 语句。
3) BEFORE | AFTER
BEFORE 和 AFTER,触发器被触发的时刻,表示触发器是在激活它的语句之前或之后触发。若希望验证新数据是否满足条件,则使用 BEFORE 选项;若希望在激活触发器的语句执行之后完成几个或更多的改变,则通常使用 AFTER 选项。
4) 表名
与触发器相关联的表名,此表必须是永久性表,不能将触发器与临时表或视图关联起来。在该表上触发事件发生时才会激活触发器。同一个表不能拥有两个具有相同触发时刻和事件的触发器。例如,对于一张数据表,不能同时有两个 BEFORE UPDATE 触发器,但可以有一个 BEFORE UPDATE 触发器和一个 BEFORE INSERT 触发器,或一个 BEFORE UPDATE 触发器和一个 AFTER UPDATE 触发器。
5) 触发器主体
触发器动作主体,包含触发器激活时将要执行的 MySQL 语句。如果要执行多个语句,可使用 BEGIN…END 复合语句结构。
希望你自己写 ,做2个触发器,
第一个触发后可以做对overtime插入操作,这里你没说触发类型????
Create Trigger '增加加班信息'
On overtime --在overtime表中创建触发器
for ????? ----触发的事件
As --事件触发后所要做的事情
begin
insert INTO overtime(你要加的信息)
end
第二个 基于overtime 表的触发update类的 更新加班信息
Create Trigger '修改考勤信息表'
On overtime --在overtime表中创建触发器
for insert --触发的事件
As --事件触发后所要做的事情
if Update(某字段)
begin
Update attend
set 你做overtime的插入后 attend 应该的变化
From attend ,Inserted i --Inserted临时表
Where attend.emp_id =i.emp_id
end
做完之后 你插入几次检测下数据,再写上报错和其它
将delimiter ; 更改为delimiter //\x0d\x0a如下:\x0d\x0amysql delimiter //\x0d\x0amysql create trigger insertArticle_Trigger after insert on article1\x0d\x0a - for each row\x0d\x0a - begin\x0d\x0a - update board1 set articleCount = articleCount+1 where id=new.bid;\x0d\x0a - end;\x0d\x0a - //\x0d\x0a\x0d\x0a执行如下语句,可查看到board1表articleCount被更改:\x0d\x0amysql delimiter ;\x0d\x0amysql insert into article1 values(1);\x0d\x0a\x0d\x0a其中delimiter作用:\x0d\x0a告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。 \x0d\x0a默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束, 那么回车后,mysql将会执行该命令。但有时候,不希望MySQL这么做。在为可能输入较多的语句,且语句中包含有分号。使用delimiter //,这样只有当//出现之后,mysql解释器才会执行这段语句。详见
navicat
for
mysql中如何添加delete触发器
navicat
for
mysql
中,选中数据表—鼠标右键—设计表,有一个触发器的设置,然后:
设置一个触发器名称,触发选择after,勾中插入
在下面的框中:(仅是举例)
begin
insert
into
transfer(id,a1,a2,cz,qtime)
values(new.id,values1,values2,'已点',new.ordertime)
end