0

アプリケーションに 2 つのテーブルがあります (バグ トラッカーを作成しようとしています)。1 つは記録/問題を追加できるもので、もう 1 つは問題の履歴用です。

したがって、2 番目の (Bugs_Shadow) テーブルは最初のテーブル (Bugs) と共に新しいレコードを作成し、誰かが修正を試みたときにテーブル 1 の問題を更新できます。更新をクリックすると、更新行全体が 2 番目のテーブルに追加されますが、元のレコードも保持されます。したがって、変更が行われるたびに、Bugs_Shadow テーブルに新しいレコードが作成されます。それが理にかなっていることを願っていますか?

このトリガーを作成しました:

CREATE TRIGGER [tr_Bugs_Insert]
    ON [dbo].[Bugs]
    AFTER UPDATE, INSERT
    AS
    BEGIN
        INSERT INTO Bugs_Shadow (BugID, [User], Date, Subject, Description, [Source Code], [Current State])
        SELECT BugID, [User], Date, Subject, Description, [Source Code], [Current State]
        FROM Bugs

    END
    GO

2番目のテーブルに同一のエントリを作成する限り機能しますが、1番目のテーブルのエントリを更新すると、2番目のテーブルでも同じことが行われますが、変更を除いて同一の新しいレコードを作成したいユーザーによって作成されます。

そこにいくつかの助けがあることを願っています。トリガーは初めての試みで、この段階に到達するまでに時間がかかりました。

ありがとう

4

1 に答える 1