我目前正在使用一个旧的应用程序,我没有任何源代码,但我真的需要为应用程序添加一些新的逻辑。
我发现这样做的唯一方法是搞乱数据库数据,并用触发器改变我需要的东西。
我编写了以下触发器,它应该更新刚刚插入的行的2列:
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
问题是当插入新的注册表时,它似乎陷入僵局。
我不可能做我想做的事情?
你能用另一种方法帮助我吗?
答案 0 :(得分:1)
如果您想动态修改新插入/更新的记录,则需要使用INSTEAD OF
触发器。