Q
qczyy
Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE TRIGGER T_UPDATE ON dbo.tableA
FOR UPDATE
AS
declare @vID varchar(6)
declare @cID varchar(12)
declare @iID varchar(15)
declare @PRICE FLOAT
IF UPDATE(P_PIZHUN_ZT) and not UPDATE(P_NIZHI_DATE)
BEGIN
insert PRICE_HISTORY -----写入日志表
select .......from tableA INNER JOIN INSERTED ON tableA.ID=INSERTED.ID
---------------调用远程存储过程
select @vID=vend_id,@cID=poct_id,@iID=itmi,@PRICE=price_nd from inserted where p_pizhun_zt='1'
if @@rowcount<>0
begin
exec SERVER1.dbtest.dbo.UPDATEprice @vID ,@cID,@IID,@PRICE
end
end
=============问题是单独调试这个存储过程是没问题的,在这个触发器里调用就有问题了,
没符合调用存储过程的记录时,原表和日志表更新正常,
当有符合条件的记录能调用存储过程时,运行失败,而且把日志表,原表都回滚了,
不知道怎么回事,请帮我看看啊,哭等
我要的结果是原表和日志表更新,当有符合条件的记录能调用存储过程时,正常运行该存储过程
FOR UPDATE
AS
declare @vID varchar(6)
declare @cID varchar(12)
declare @iID varchar(15)
declare @PRICE FLOAT
IF UPDATE(P_PIZHUN_ZT) and not UPDATE(P_NIZHI_DATE)
BEGIN
insert PRICE_HISTORY -----写入日志表
select .......from tableA INNER JOIN INSERTED ON tableA.ID=INSERTED.ID
---------------调用远程存储过程
select @vID=vend_id,@cID=poct_id,@iID=itmi,@PRICE=price_nd from inserted where p_pizhun_zt='1'
if @@rowcount<>0
begin
exec SERVER1.dbtest.dbo.UPDATEprice @vID ,@cID,@IID,@PRICE
end
end
=============问题是单独调试这个存储过程是没问题的,在这个触发器里调用就有问题了,
没符合调用存储过程的记录时,原表和日志表更新正常,
当有符合条件的记录能调用存储过程时,运行失败,而且把日志表,原表都回滚了,
不知道怎么回事,请帮我看看啊,哭等
我要的结果是原表和日志表更新,当有符合条件的记录能调用存储过程时,正常运行该存储过程