0

次のような要件があります。 one BID、 oneSIDの場合は常にレコードを挿入する必要がありexecdatestopbilldate存在する場合は、新しいレコードを挿入する必要がありNULLますStopbilldate 。サンプルの例は次のとおりです。

Sno BID     SID LID     Comapny Execdate    StopBilldate
5   BLDG100 C   6500    Cole    1/5/2012    5/29/2012
6   BLDG100 C   000000  Vacant  5/30/2012   NULL
4

1 に答える 1

1

TRIGGERあなたはあなたのテーブルの上でこれを行うことができます. トリガーは、イベントが発生したときに実行される一種のストアド プロシージャです。

テーブルに置くことができるもののサンプルを次に示します。

CREATE TRIGGER [trg_yourTable]
   ON  [yourTable]
   AFTER INSERT
AS 
BEGIN
    SET NOCOUNT ON;

    -- Insert statements for trigger here
    INSERT INTO yourTable (bid, sid, lid, company, execdate, stopbilldate)
    SELECT i.bid, i.sid, 0, 'Vacant', DATEADD(day, 1, i.stopbilldate), null
    FROM inserted i
    WHERE i.bid is not null
        and i.sid is not null
END

テーブルにINSERTデータを入力すると、これが実行INSERTされ、必要な行がテーブルに追加されます。

于 2012-08-24T13:44:39.120 に答える