惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Jina AI
Jina AI
雷峰网
雷峰网
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
美团技术团队
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
博客园 - Franky
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
量子位
IT之家
IT之家
人人都是产品经理
人人都是产品经理
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 智岛软件

企业系统,随需而变?百变平台,我能! 开发ERP、MIS、CRM等管理系统,竟然可以这样做?! 【智岛软件】程序设计规范 常用VB脚本语句 - 智岛软件 - 博客园 Java版百变平台调用储存过程范例 - 智岛软件 - 博客园 网格数据分页_范例代码 - 智岛软件 - 博客园 常用网格函数及操作 导航菜单设置 自定义自动编号 - 智岛软件 - 博客园 从XML中取日期时,必须用ToDateString转换 - 智岛软件 - 博客园 OGrid接口函数详细说明 DBEngine接口详细说明 SQL查询语句精华使用简要 group by分组的应用 SQL编程规范 在校生数据导入范例 根据条件选择,将值传递为一个组合框的下拉列表 - 智岛软件 - 博客园 网格控件XML数据格式_完全版 新控件使用范例 - 智岛软件 - 博客园
触发器的应用
智岛软件 · 2006-04-15 · via 博客园 - 智岛软件

--当在“出货表_明细”增、删、改时,相应地在“订单表_明细”对已交货数量和未交货数量作出修改。
Create trigger tr_出货表_明细
on 出货表_明细
For DELETE,INSERT,UPDATE
as
Declare @JiaoHuo varchar(20)
Begin
 Set @JiaoHuo = (Select Sum(交货数量) from 出货表_明细 Group by 序号 Having 序号 = (Select 序号 From Deleted))
 Set @JiaoHuo = ISNULL(@JiaoHuo,(Select Sum(交货数量) from 出货表_明细 Group by 序号 Having 序号 = (Select 序号 From Inserted)))
        Set @JiaoHuo = ISNULL(@JiaoHuo,0)
 UPDATE N SET 已交货数量 = @JiaoHuo, 未交货数量 = N.订购数量 - @JiaoHuo
                From 订单表_明细 AS N INNER Join Deleted AS D
      ON N.序号 = D.序号
End

--当“订单表_明细”中增、删、改时、判断该笔订单的未交货数量合计是否为0,修改“订单表”的订单状态为“已完成”,否则为“未完成”
Create trigger tr_Status
ON 订单表_明细
FOR INSERT,UPDATE,DELETE
AS
Declare @Order varchar(20)
 Begin
         Set @Order = (Select 订单号 from Deleted)
         Set @Order = ISNULL(@Order,(Select 订单号 from Inserted))
         IF(Select Sum(未交货数量) From 订单表_明细 Group by 订单号 Having 订单号 = @Order)= 0 
              Begin 
                   UPDATE 订单表 Set 订单状态 = '已完成',完成日期 = GetDate() Where 订单号 = @Order
              End
         Else
              Begin  
                   UPDATE 订单表 Set 订单状态 = '未完成',完成日期 = NUll Where 订单号 = @Order
              End
 End

======================================================================
--出货表_明细
CREATE TABLE [出货表_明细] (
 [序号] [int] NULL ,
 [订单号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [ID] [int] IDENTITY (1, 1) NOT NULL ,
 [出货单号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [料号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [品名_1] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [品名_2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [批号] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [单位] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [规格型号] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [交货数量] [int] NULL ,
 [交货情况] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
 [客户要求交货期] [datetime] NULL ,
 [预交日期] [datetime] NULL ,
 [交货日期] [datetime] NULL ,
 [sysRowInfo] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 CONSTRAINT [PK_出货表_明细] PRIMARY KEY  CLUSTERED
 (
  [ID]
 )  ON [PRIMARY] ,
 CONSTRAINT [FK_出货表_出货表_明细] FOREIGN KEY
 (
  [出货单号]
 ) REFERENCES [出货表] (
  [出货单号]
 ) ON DELETE CASCADE  ON UPDATE CASCADE
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

--订单表
CREATE TABLE [订单表] (
 [订单号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [客户编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [客户名称] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [下单日期] [datetime] NULL ,
 [签收日期] [datetime] NULL ,
 [接单业务员] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [客户要求完成日期] [datetime] NULL ,
 [完成日期] [datetime] NULL ,
 [订单状态] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [总金额] [money] NULL ,
 [出货人] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [收货地址] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
 [收货人] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [备注] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
 [sysRowInfo] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 CONSTRAINT [PK_订单表] PRIMARY KEY  CLUSTERED
 (
  [订单号]
 )  ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

--订单表_明细
CREATE TABLE [订单表_明细] (
 [序号] [int] IDENTITY (1, 1) NOT NULL ,
 [订单号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [料号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [品名_1] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [品名_2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [批号] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [单位] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [规格型号] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [订购数量] [int] NULL ,
 [已交货数量] [int] NULL ,
 [未交货数量] [int] NULL ,
 [单价] [money] NULL ,
 [合计金额] [money] NULL ,
 [客户要求交货期] [datetime] NULL ,
 [预交日期] [datetime] NULL ,
 [sysRowInfo] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 CONSTRAINT [PK_订单表_明细] PRIMARY KEY  CLUSTERED
 (
  [序号]
 )  ON [PRIMARY] ,
 CONSTRAINT [FK_订单表_订单表_明细] FOREIGN KEY
 (
  [订单号]
 ) REFERENCES [订单表] (
  [订单号]
 ) ON DELETE CASCADE  ON UPDATE CASCADE
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO