提示错误如下:OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中触发器 :
CREATE TRIGGER [TR_INSERTACPTA3] ON [dbo].[ACPTA]
FOR UPDATE
AS
DECLARE @TA001 CHAR(4), --销货单单别
@TA002 CHAR(11), --销货单单号
@TA003 CHAR(4), --销货单序号
@TA004 CHAR(20),
@TA14 CHAR(10),
@UDF51 numeric(20),
@UDF512 numeric(20)
BEGIN TRANSACTIONset nocount on --将影响资料笔数的计数器关掉 SELECT @UDF51=UDF51 FROM DELETED
SELECT @UDF512=UDF51, @TA001=TA001,@TA002=TA002 ,@TA004=TA004 FROM INSERTED
if @UDF51=0 AND @UDF512=1
begin
INSERT INTO openrowset('SQLOLEDB','192.168.0.112';'sa';'',UFDATA_001_2012.dbo.RdRecord)
(ID,cCode,cVenCode)SELECT (SELECT MAX(ID)+1 AS ID FROM
openrowset('SQLOLEDB','192.168.0.112';'sa';'',UFDATA_001_2012.dbo.RdRecord))
,TA002,
(SELECT cVenCode FROM
openrowset('SQLOLEDB','192.168.0.11';'sa';'',UFDATA_001_2012.dbo.Vendor) WHERE cVenName LIKE (SELECT MA003 FROM PURMA WHERE MA001=@TA004))
FROM ACPTA WHERE TA001=@TA001 AND TA002=@TA002
end set nocount off --将影响资料笔数的计数器再重新打开
COMMIT TRANSACTION
CREATE TRIGGER [TR_INSERTACPTA3] ON [dbo].[ACPTA]
FOR UPDATE
AS
DECLARE @TA001 CHAR(4), --销货单单别
@TA002 CHAR(11), --销货单单号
@TA003 CHAR(4), --销货单序号
@TA004 CHAR(20),
@TA14 CHAR(10),
@UDF51 numeric(20),
@UDF512 numeric(20)
BEGIN TRANSACTIONset nocount on --将影响资料笔数的计数器关掉 SELECT @UDF51=UDF51 FROM DELETED
SELECT @UDF512=UDF51, @TA001=TA001,@TA002=TA002 ,@TA004=TA004 FROM INSERTED
if @UDF51=0 AND @UDF512=1
begin
INSERT INTO openrowset('SQLOLEDB','192.168.0.112';'sa';'',UFDATA_001_2012.dbo.RdRecord)
(ID,cCode,cVenCode)SELECT (SELECT MAX(ID)+1 AS ID FROM
openrowset('SQLOLEDB','192.168.0.112';'sa';'',UFDATA_001_2012.dbo.RdRecord))
,TA002,
(SELECT cVenCode FROM
openrowset('SQLOLEDB','192.168.0.11';'sa';'',UFDATA_001_2012.dbo.Vendor) WHERE cVenName LIKE (SELECT MA003 FROM PURMA WHERE MA001=@TA004))
FROM ACPTA WHERE TA001=@TA001 AND TA002=@TA002
end set nocount off --将影响资料笔数的计数器再重新打开
COMMIT TRANSACTION
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货