关于SQL触发器批量更新的问题

 

正确写法

CREATE TRIGGER [更新外部票据表单] ON [dbo].[票据基本信息库_主表]
FOR UPDATE
AS

BEGIN

UPDATE UfNote_001_2009.dbo.CN_NoteManageList SET  Purpose=B.支票用途,[money]=B.票据金额,[Payee]= B.收款人名

称,STATEID=3,RemitDate=B.出票日期  FROM UfNote_001_2009.dbo.CN_NoteManageList A inner join inserted B on A.NoteNumber=B.票据

编号


END

 

错误写法

 

CREATE TRIGGER [更新外部票据表单] ON [dbo].[票据基本信息库_主表]
FOR UPDATE
AS

BEGIN
declare @支票号 varchar(100)
declare @支票金额 decimal(18,2)
declare @支票用途 varchar(100)
declare @收款人 varchar(100)
declare @开票日期 datetime

select @支票号=inserted.票据编号, @支票金额= inserted.票据金额,@支票用途=inserted.票据用途,@收款人=inserted.收款人名称,@开票日期=inserted.出票日期  from inserted

UPDATE UfNote_001_2009.dbo.CN_NoteManageList SET  Purpose=@支票用途,[money]=@支票金额,[Payee]= @收款人,STATEID=3,RemitDate=@开票日期 WHERE NoteNumber=@支票号

END


 

 

 

 

 

 

 

posted @ 2009-04-24 17:07 拒绝潜水的鱼 阅读(...) 评论(...) 编辑 收藏