今天和采购部的黄生讨论需求,报价系统中第一次写入的时候指定默认值。
条件有好几项目,本来应该写入到逻辑层的,实在不想写代码了,就想用触发器搞定吧。批量第一脑子中就想用游标吧,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
测试结果没问题!