zoukankan      html  css  js  c++  java
  • 触发器

    USE [UFDATA_010_2013]
    GO
    /****** Object:  Trigger [dbo].[prodb_trigger]    Script Date: 03/12/2016 08:47:34 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER trigger [dbo].[prodb_trigger] on [dbo].[PRO_Db_b]
    for insert,update,delete
    as
    begin
        declare @inserted int,
                @deleted int,
                @startdate datetime,
                @enddate datetime,
                @depcode nvarchar(50),
                @distributecotton nvarchar(512),
                @dbqty float,
                @dbqtyback float
        select @inserted=COUNT(*) from inserted
        select @deleted=COUNT(*) from deleted
       
        if @inserted>0 and @deleted=0
        begin
            --insert
            select @startdate=startdate,@enddate=enddate,@depcode=depcode,@dbqty=dbqty,@distributecotton=distributecotton from  inserted;
            update a set a.qtysum=a.qtysum+@dbqty from PRO_Element_b a,PRO_Element b where b.id=a.element_id and b.elementdate>=@startdate and b.elementdate<=@enddate and b.depcode=@depcode and a.distributecotton=@distributecotton
        end
        else if @inserted>0 and @deleted>0
        begin
            --update
            select @startdate=startdate,@enddate=enddate,@depcode=depcode,@dbqty=dbqty,@distributecotton=distributecotton from  inserted;
            select @dbqtyback=dbqty from  deleted;
            update a set a.qtysum=a.qtysum+@dbqty-@dbqtyback from PRO_Element_b a,PRO_Element b where b.id=a.element_id and b.elementdate>=@startdate and b.elementdate<=@enddate and b.depcode=@depcode and a.distributecotton=@distributecotton
        end
        else if @inserted=0 and @deleted>0
        begin  
            --delete
            select @startdate=startdate,@enddate=enddate,@depcode=depcode,@dbqty=dbqty,@distributecotton=distributecotton from  deleted;
            update a set a.qtysum=a.qtysum-@dbqty from PRO_Element_b a,PRO_Element b where b.id=a.element_id and b.elementdate>=@startdate and b.elementdate<=@enddate and b.depcode=@depcode and a.distributecotton=@distributecotton
        end
    end

  • 相关阅读:
    扩展LVM 逻辑卷存储空间
    Linux Shell远程执行命令(命令行与脚本方式)
    vsftpd FTP服务器配置
    初识小米Minos
    使用Libpng库实现Tiny6410显示PNG图片
    uCos-II内存管理
    应用程序调用tslib出现segmentation fault
    Linux-2.6.39在Tiny6410上的移植
    Linux-2.6.39在Tiny6410上的移植
    Tiny6410移植tslib
  • 原文地址:https://www.cnblogs.com/passerlee/p/5267916.html
Copyright © 2011-2022 走看看