USE [ftyms]
GO
/****** Object:  Trigger [dbo].[Orders_update]    Script Date: 06/03/2012 13:32:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER 
trigger [dbo].[Orders_update]
on [dbo].[Orders]
for update
as 
begin
declare @id int,
@operator varchar(20),
@jobnumber varchar(50)select @id from Deleted
if ((select CheckArrangement from Orders where ID = @id) = 1)
beginif ((select count(BingGoodsID) from Production where BingGoodsID = @id) = 0)
begin
  select @operator = Operator,@jobnumber = JobNumber from Orders where ID = @id
  insert into Production 
  select *,@operator,@jobnumber,getdate(),0,@id from (
    select b.FactoryArticleNumber,b.ClientArticleNumber,WholeLampHeight,CeramicL,CeramicW,CeramicH,LampshadeShape,
    LampshadeSpec,LampshadeUnderLong,LampshadeUnderWide,LampshadeLastLong,
    LampshadeLastWide,LampshadeStraighigh,LampshadeOffGround from Goods a
    join Orders b on b.FactoryArticleNumber = a.ArticleNumber and b.ID = @id
    )ina
endend
else
begin
delete Production where BingGoodsID = @id
end end
奉上代码!不能获取到当前更新的ID。获取不到ID后面的数据都无法正常使用!我也不知道为什么!看资料 Deleted 是正确的!不知道为什么我的不正确!换了 inserted 试了之后也是错误!