关于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
出处:http://slave2.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。