???   触发器攻关  ??? 大哥大姐,帮帮忙啊!
小弟只知道触发器是个好东西,但是从来没有自己写过,   
 早就听说CSDN里是高手云集,藏龙卧虎之地,故来请教!   
 问题如下:   
 A表:      字段如下 
 规格单号                     小号      节目名称   订货数量      完成 
 HLOT-07-0001            1               征服1            1000               False 
 HLOT-07-0001            2               征服2            1000               False   
 B表:      字段如下 
 规格单号                     小号      节目名称   订货数量      入库数量 
 HLOT-07-0001            1               征服1            1000               1000 
 HLOT-07-0001            2               征服2            1000               800   
 B表中的 "入库数量 "会不断改变,如果 "入库数量> =订货数量 "   
 就表明   A表中的相应 "节目 "的 "完成 "字段要赋值为 "True ".   
 实现要求:    
                   (1)触发器只对 "入库数量 "的INSERT,UPDATE时起作用 
                   (2)B表的 "入库数量> =订货数量 "时自动更改相应A表 "完成=True "     
------解决方案--------------------我也在想,要怎么获取到 INSERT 或 UPDATE 受影响的行的值.那这个问题就好解决了
------解决方案--------------------create trigger ti_B表 on B表 
 for insert,update 
 as 
 if exists(select * from inserted i where isnull(i.入库数量,0)> =isnull(i.订货数量,0)) 
 begin 
 	update A表 
 	set 完成= 'True ' 
 	from A表,inserted i 
 	where A表.规格单号=i.规格单号 
 		and A表.小号=i.小号  
 		and A表.节目名称=i.节目名称  
 		and isnull(i.入库数量,0)> =isnull(i.订货数量,0) 
 end
------解决方案--------------------你的意思是,你可以插入新的记录来修改征服1的数量,也可以直接在老的记录上增加?
------解决方案--------------------规格单号       小号  节目名称 订货数量  入库数量 
 HLOT-07-0001    1     征服1    1000     1000 
 HLOT-07-0001    2     征服2    1000     800 
 HLOT-07-0001    2     征服2    1000     200   
 表2会不会有这样的情况?
------解决方案--------------------检查inserted临时表中入库数量> =订货数量的   
 向表中insert时,新插入的数量保存在inserted表中 
 update表时,更新后的值保存在inserted表中
------解决方案--------------------easywind8088() ( ) 信誉:100    Blog  2007-03-14 17:45:40  得分: 0         
    不会, 
 HLOT-07-0001    2     征服2    1000     800 
 HLOT-07-0001    2     征服2    1000     200   
 全合并为一条记录,如下   
 HLOT-07-0001    2     征服2    1000     1000        
 ---------------------   
 應該會存在這種情況的,不會所有的東西一起入庫的,肯定會有今天入庫一部分,明天入庫一部分的情況。
------解决方案--------------------楼主的表2中入库数量是一直加的?   
 不知道我这个对不对   
 if object_id( 'pubs..表A ') is not null 
 	drop table pubs..表A 
 GO 
 CREATE TABLE 表A 
 ( 
 规格	nvarchar(50), 
 小号	int, 
 订货数量	int, 
 完成	bit 
 ) 
 INSERT INTO 表A SELECT  'HLOT-07-0001 ',1,1000,0 
 UNION ALL SELECT  'HLOT-07-0001 ',2,1000,0   
 if object_id( 'pubs..表B ') is not null 
 	drop table pubs..表B 
 GO 
 CREATE TABLE 表B 
 ( 
 规格	nvarchar(50), 
 小号	int, 
 订货数量	int, 
 入库数量	int