触发器insert多行问题!只触发最后一行的纪录。

lg7020 2006-05-31 08:18:36
建立触发器,为inserted,一次插入多行

CREATE TRIGGER ggpdquan1 ON [dbo].[lnsn_sale]
FOR INSERT
AS
DECLARE @pd_name varchar(100)
DECLARE @pd_quan float
Declare @InsertedCount Int

Set @InsertedCount=(Select Count(*)From inserted)
////////
1、select @pd_name=sale_pd,@pd_quan=sale_qan from inserted
2、update lnsn_pd set pd_kpquan=pd_kpquan+@pd_quan where pd_name in (@pd_name)
////////
如何执行1、2语句,现在总是执行最后一次插入的值,也就是同时插入表2条记录,应该触发2次1、2语句,但是现在只是触发第2条记录,而一同插入的第一条记录却没有触发1、2。
如何结决???

...全文
363 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldw701 2006-09-25
  • 打赏
  • 举报
回复
mark
lg7020 2006-05-31
  • 打赏
  • 举报
回复
问题解决,谢谢!给分!
paoluo 2006-05-31
  • 打赏
  • 举报
回复
select @pd_name=sale_pd,@pd_quan=sale_qan from inserted

-----------------------------------------
這麼寫,一次插入兩條紀錄,當然只會執行一次。

試試

Update A Set pd_kpquan=pd_kpquan+B.sale_qan From lnsn_pd A Inner Join inserted B On CharIndex(A.pd_name,B.sale_pd)>0

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧