sql触发器

简介:

insert触发器:

create table stuinfo

(

 num varchar(10),

 name varchar(10)

)


create table classinfo

(

serialno varchar(10),

totalno int

)

classinfo表

wKiom1m6geHwkz0VAAAgTe4Q3n0523.jpg-wh_50

 

stuinfo表

wKioL1m6geHiNdRFAAAdg4sIisw100.jpg-wh_50

比如说班级编号位1001的人数1个

insert into classinfo values('1001',1)

下来创建触发器

create trigger  info //触发器名字

on  stuinfo // 该触发器是在那个表改变的时候发生

 

for insert //在那个事件发生

as

 update classinfo set totalno=totalno+1

 where serialno=(select num from  inserted)  //inserted为临时表

运行一下三条命令,验证结果

select  totalno from classinfo where serialno='1001'


insert into stuinfo values( '1001','xiaobai')


select  totalno from classinfo  where serialno='1001'

前后对比

wKiom1m6gi6isBCwAAAm72ZAAF4497.jpg-wh_50

 

 delete触发器:

 wKioL1m6gh2ibq2ZAAAV1yidSVA667.jpg-wh_50

create trigger del

on stuinfo

for delete

as 

 update classinfo set totalno=totalno-1

 where serialno=(select num from  deleted)

运行一下三条命令,验证结果

 

 select  totalno from classinfo  where serialno='1001'

 

 delete from stuinfo where num='1001'

 

 select  totalno from classinfo  where serialno='1001'

 wKioL1m7MBjQKzhKAAAoa8IyRb4796.jpg-wh_50

  update触发器:

 

create trigger upd

on stuinfo

for update

as 

  if(update(name))

  begin

  print 'name changed'

  end

 else

  print 'not changed'

运行一下三条命令,验证结果

 

 select  * from stuinfo  where num='1001'

 

 update stuinfo set  name='小白' where num='1001'

 

 select  * from stuinfo  where num='1001'

wKioL1m6gl6RbMFnAAApe1ukPOk766.jpg-wh_50


本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/1965330


相关文章
|
6天前
|
存储 SQL
SQL Server 存储过程 触发器 事务处理
SQL Server 存储过程 触发器 事务处理
|
4月前
|
SQL 存储 数据库
PL/SQL触发器的概述和用途
PL/SQL触发器的概述和用途
35 2
|
10月前
|
存储 SQL 安全
数据库SQL Server 9-10 章(存储过程与触发器)
数据库SQL Server 9-10 章(存储过程与触发器)
154 0
|
5月前
|
SQL 关系型数据库 MySQL
My Sql 触发器
My Sql 触发器
|
5月前
|
SQL 存储 关系型数据库
Mysql数据库 13.SQL语言 触发器
Mysql数据库 13.SQL语言 触发器
55 0
|
10月前
|
SQL 存储 程序员
SQL触发器
SQL触发器
72 1
|
10月前
|
SQL 存储 安全
SQL Server——触发器
触发器,是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。经常通过触发器来强制实现不同表中的逻辑相关数据的引用完整性或一致性。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过过程名字而直接调用。当对某一个表进行诸如UPDATE、INSERT、DELETE这些操作时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的规则
|
10月前
|
SQL 存储 数据库
SQL触发器
SQL触发器
43 0
|
11月前
|
SQL 存储 安全
如何使用SQL语句创建触发器
如何使用SQL语句创建触发器
160 0
|
11月前
|
SQL 数据库
【牛腩视频】之SQL触发器
【牛腩视频】之SQL触发器
81 0