0
私は現在のところ、ソースコードを所有していない古いアプリケーションで作業していますが、本当にアプリケーションに新しいロジックを追加する必要があります。SQL Server:ちょうど挿入された行を更新するトリガー
私が見つけた唯一の方法は、データベースのデータを使いこなし、必要なものをトリガーで変更することです。
私はちょうど挿入された行の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 [email protected], [email protected];
fetch next from CURSOR_TESTE into @loteN, @refN
end
close MY_CURSOR
deallocate MY_CURSOR
、デッドロックになるようです。
私は何をしようとしているのは不可能ですか?
別の方法で私を助けることができますか?
なぜ単に挿入された行を更新するのではなく、単に正しいデータを挿入するのですか? – Oded
アプリケーションによって挿入が行われ、2つの追加フィールドを含めるためにソースコードにアクセスする権限がありません。 – sakana
Eww。トリガー+カーソル+アプリソースコードなし=痛みのレシピ。がんばろう! – RickNZ