建了一个跨数据库的triger
CREATE TRIGGER [dbo].[CW_XTKe_trigger] ON [dbo].[CW_XueFen_Detail]
WITH EXECUTE AS CALLER
AFTER INSERT
AS
DECLARE @elective_id varchar (50)--选课ID
DECLARE @flag int--支付状态 0 缴费 1 退费DECLARE @teachclass_id varchar (50)-- 教学班IDSELECT @flag = i.flag,
@elective_id = i.creditID
FROM inserted i
IF (@flag = 0) BEGIN UPDATE [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
SET paied = 1
WHERE ID =@elective_id ENDELSE BEGIN
select @teachclass_id = teachclass_id from [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
where ID =@elective_id DELETE
FROM [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
WHERE ID =@elective_id UPDATE [CSDN_ColligateCharge_SS]..t_edu_TeachClassInfo
SET current_capacity = current_capacity - 1
WHERE ID = @teachclass_id END
99.9%的情况下,这个triger运行正常,能更新或删除数据,可是有0.1%的情况下会失效,导致数据不能同步。烦请哪位大侠给指点一下,分析一下问题的原因所在
CREATE TRIGGER [dbo].[CW_XTKe_trigger] ON [dbo].[CW_XueFen_Detail]
WITH EXECUTE AS CALLER
AFTER INSERT
AS
DECLARE @elective_id varchar (50)--选课ID
DECLARE @flag int--支付状态 0 缴费 1 退费DECLARE @teachclass_id varchar (50)-- 教学班IDSELECT @flag = i.flag,
@elective_id = i.creditID
FROM inserted i
IF (@flag = 0) BEGIN UPDATE [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
SET paied = 1
WHERE ID =@elective_id ENDELSE BEGIN
select @teachclass_id = teachclass_id from [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
where ID =@elective_id DELETE
FROM [CSDN_ColligateCharge_SS]..t_edu_TeachClassStudentList
WHERE ID =@elective_id UPDATE [CSDN_ColligateCharge_SS]..t_edu_TeachClassInfo
SET current_capacity = current_capacity - 1
WHERE ID = @teachclass_id END
99.9%的情况下,这个triger运行正常,能更新或删除数据,可是有0.1%的情况下会失效,导致数据不能同步。烦请哪位大侠给指点一下,分析一下问题的原因所在
xi