inushome 发表于 2018-10-20 06:51:42

sql触发器

  insert触发器:
  create table stuinfo
  (
  num varchar(10),
  name varchar(10)
  )

  create table>  (
  serialno varchar(10),
  totalno int
  )
  classinfo表

  stuinfo表

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

  insert into>  下来创建触发器
  create triggerinfo //触发器名字
  onstuinfo // 该触发器是在那个表改变的时候发生
  for insert //在那个事件发生
  as

  update>  where serialno=(select num frominserted)//inserted为临时表
  运行一下三条命令,验证结果

  selecttotalno from>  insert into stuinfo values( '1001','xiaobai')

  selecttotalno from>  前后对比

  delete触发器:

  create trigger del
  on stuinfo
  for delete
  as

  update>  where serialno=(select num fromdeleted)
  运行一下三条命令,验证结果

  selecttotalno from>  delete from stuinfo where num='1001'

  selecttotalno from>
  update触发器:
  create trigger upd
  on stuinfo
  for update
  as
  if(update(name))
  begin
  print 'name changed'
  end
  else
  print 'not changed'
  运行一下三条命令,验证结果
  select* from stuinfowhere num='1001'
  update stuinfo setname='小白' where num='1001'
  select* from stuinfowhere num='1001'


页: [1]
查看完整版本: sql触发器