Sql server SQL Server:触发更新刚插入的行
我目前正在使用一个旧的应用程序,我没有任何源代码,但我真的需要添加一些新的逻辑应用程序 我发现唯一的方法就是搞乱数据库数据,用触发器改变我需要的任何东西 我编写了以下触发器,该触发器应更新刚插入行的两列:Sql server SQL Server:触发更新刚插入的行,sql-server,triggers,Sql Server,Triggers,我目前正在使用一个旧的应用程序,我没有任何源代码,但我真的需要添加一些新的逻辑应用程序 我发现唯一的方法就是搞乱数据库数据,用触发器改变我需要的任何东西 我编写了以下触发器,该触发器应更新刚插入行的两列: CREATE TRIGGER addLoteInfo ON fi FOR INSERT AS DECLARE @loteN varchar(15), @refN varchar(18), @CientifN
CREATE TRIGGER addLoteInfo ON fi
FOR INSERT
AS
DECLARE
@loteN varchar(15),
@refN varchar(18),
@CientifN varchar(40),
@CaptureZ varchar(20)
declare MY_CURSOR cursor for
select
i.lote, i.ref
from inserted i
open MY_CURSOR
fetch next from MY_CURSORinto @loteN, @refN
while @@fetch_status = 0
begin
SELECT @CientifN = u_ncientif FROM SE where lote LIKE @loteN and ref LIKE @refN;
SELECT @CaptureZ = u_zcaptura FROM SE where lote LIKE @loteN and ref LIKE @refN;
UPDATE FI SET LNCIENT=@CientifN, LZCAP=@CaptureZ;
fetch next from CURSOR_TESTE into @loteN, @refN
end
close MY_CURSOR
deallocate MY_CURSOR
问题是,当插入一个新注册表时,它似乎陷入了死锁
做我想做的事是不可能的
你能帮我换一种方法吗 如果要动态修改新插入/更新的记录,需要使用
而不是触发器。为什么要更新刚插入的行而不是简单地插入正确的数据?插入是由应用程序完成的,我无权访问他的源代码来更改它,以包括2个常规字段。Eww。触发器+游标+无应用程序源代码=痛苦的秘诀。祝你好运