我有一个SQL Server触发器,它不起作用for
或after
insert
,但它有效for update
。数据是从CSV文件导入的,我确信正在插入记录,因为SQL Server表中的记录计数增加了。
可能导致这种情况发生的原因是什么?
这是我的触发器。高级描述是:jobs
记录可与多个job_budgets
记录相关联,并由job_no
匹配。 job_budgets
有一些费用需要总结并放入jobs
的字段中。
ALTER TRIGGER [dbo].[MC_tu_jobs_by_job_budgets]
ON [dbo].[job_budgets]
FOR INSERT, UPDATE
AS
BEGIN
set nocount on
if update(orig_est_dollars)
begin
update dbo.jobs
set jobs.original_cost = (select sum(job_budgets.orig_est_dollars)
from job_budgets
where job_budgets.job_no = i.job_no
and job_budgets.company_no = i.company_no)
from inserted as i
inner join dbo.[jobs] on dbo.[jobs].job_no = i.job_no
and dbo.[jobs].company_no = i.company_no
end
end