Я сейчас работаю со старым приложением, у которого нет исходного кода, но мне действительно нужно добавить новую логику в приложение.
Единственный способ, который я нашел, - это испортить данные базы данных и изменить все, что мне нужно, с помощью триггера.
Я написал следующий триггер, который должен обновить 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
Проблема в том, что при вставке нового реестра возникает проблема, что он заходит в тупик.
Невозможно сделать то, что я пытаюсь сделать?
Можете ли вы помочь мне с другим подходом?