SQL 更新触发器的使用

CREATE TRIGGER [dbo].[trig_so_salesOrder_update] 
  ON [dbo].[so_salesOrder]
  AFTER update
  AS

  //定义一个变量
  DECLARE
    @sfname varchar;

//判断是否有数据插入
  if @@rowcount = 0 
      return

 //判断插入的数据字段sfname是否为空,如果为空,不进行数据插入
   select @sfname = s.sfName from so_salesOrder s , inserted i where s.id = i.id
   if(@sfname = null or @sfname = '')
   return
    else  //否则把数据插入到 erp_update_info 表
  insert into erp_update_info(tableName, columnName, updateId, updateType, readState, execTime)
 select 'so_salesOrder','id' , id, 'update', '0', {fn NOW()} from inserted

插入
**

create TRIGGER [dbo].[trig_stock_warehouseorderitem_insert] 
  ON [dbo].[stock_warehouseorderitem]
  AFTER insert
  AS

  DECLARE
    @id int;

 select @id = id from stock_warehouseorderitem where warehouseOrder_id in (select  id from stock_warehouseOrder where istate = 4)
  if @@rowcount = 0 
      return

  insert into erp_update_info(tableName,columnName, updateId, updateType, readState, execTime)
  select 'stock_warehouseorderitem','id', @id, 'insert', '0', {fn NOW()} from inserted**

更新

ALTER TRIGGER [dbo].[trig_stock_warehouseorderitem_insert] 
  ON [dbo].[stock_warehouseorderitem]
  AFTER insert
  AS

  DECLARE
    @id int

 select @id = id from inserted where id in (select  id from stock_warehouseorderitem where warehouseOrder_id in (select id from stock_warehouseOrder where istate = 4 ))



  if @@rowcount = 0 
      return 
  insert into erp_update_info(tableName,columnName, updateId, updateType, readState, execTime)
  select 'stock_warehouseorderitem','id',@id, 'insert', '0', {fn NOW()} from inserted

—————————————————–
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
请先拍 购买地址, 下载请用百度盘
目录如下:
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)

01高级架构师四十二个阶段高内容:
SQL 更新触发器的使用_第1张图片
SQL 更新触发器的使用_第2张图片
—————————————————–

你可能感兴趣的:(SQL-Trigger)