触发器批量分类更新

作者:德仔的专栏  发布日期:2011-11-01 14:33:09

今天和采购部的黄生讨论需求,报价系统中第一次写入的时候指定默认值。

条件有好几项目,本来应该写入到逻辑层的,实在不想写代码了,就想用触发器搞定吧。批量第一脑子中就想用游标吧,NND难道没有别方法?

想了想用CASE WHEN 好像可以解决:

 

-- =============================   
-- Author: <David Gong>     
-- Create date: <2011-11-01>     
-- Description: <默认值>     
-- =============================  
CREATE TRIGGER [DefaultRemarks] ON [dbo].[Quo_Standardcostdetail]   
FOR INSERT  
  AS         
   BEGIN TRANSACTION  
   SET NOCOUNT ON   
update a    
set a.Remarks=CASE WHEN b.Description='LCD'     and b.Item is  not null then 'MOQ'   
                 WHEN b.Description='LCD'     and b.Item is  null then 'Tooling MOQ'  
                 WHEN b.Description IN ('BL','背光','背光源','铁框','BZ','PCB','托盘')    and b.Item is  null then 'Tooling'   
                 else null end  
from Quo_Standardcostdetail a,INSERTED  b   
where a.id=b.id  
  
SET NOCOUNT OFF  
COMMIT TRANSACTION 

测试结果没问题!

Tag标签: 触发器  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规