2016-07-27 8 views
0

を挿入し、私は私が当番で後半に列を埋めたいデータフォームのDataGridViewのすべてを挿入 - クロックでは、私は、このトリガーSQL Serverのトリガー挿入エラーが発生した後、すべてのデータは、私が挿入した後、トリガーのための助けを必要とヌル

create trigger insertlate 
on kkpsurabaya 
after insert 
as 
begin 
    declare @insertlate varchar(50) 
    set @insertlate = (SELECT DATEDIFF(MINUTE, clock_in ,on_duty) AS MinuteDiff 
         FROM kkpsurabaya) 

    insert into kkpsurabaya(Late) 
    values(@insertlate) 
end 
を作成した後、

all data insert null

+0

あなたの 'insertlate'は何をすると思いますか? 'kkpsurabaya' – Squirrel

答えて

-1

現在のトリガーでテーブルに追加の行が挿入されています。トリガーを使用してLate列を更新するように見えます。その場合は、あなたのトリガーはinsertedテーブルがベーステーブルに参加し、代わりにあなたが計算列としてLate列を作成することができ、直接

create trigger insertlate on kkpsurabaya 
after insert 
as 
begin 
    UPDATE  k 
    SET  Late = DATEDIFF(MINUTE, i.clock_in, i.on_duty) 
    FROM  inserted i 
    INNER JOIN kkpsurabaya k 
    ON   i.pk = k.pk 
end 

更新使用する必要があります。

+0

テーブルに別の行を挿入しているようですが、このテーブルは1テーブルしか使用していません。 –

+0

どういう意味ですか?引き金はあなたのために働いていますか? – Squirrel

+0

その仕事は、ちょうどklikが恋しい。私は同じテーブルに私は挿入トリガーが欲しいという意味です。 –

関連する問題