2016-07-27 2 views
0
내가 삽입 후 트리거 도움이 필요

, 나는 내가 근무 늦은 열 입력 할 데이터 폼 DataGridView에 모두 삽입 - 시계를,하지만 난이 트리거를 만든 후SQL 서버 트리거

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 테이블이 기본 테이블에 가입하고 직접

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 

이 또는 당신이 계산 열로 Late 열을 만들 수 있습니다 업데이트 사용되어야한다.

+0

이 테이블에 다른 행을 삽입하는 것 같습니다.이 테이블 만 사용합니다. 나는 늦은 열을 자동으로 채우고 싶습니다. –

+0

무엇을 의미합니까? 방아쇠가 작동합니까? – Squirrel

+0

그 일은, 그냥 klik 싶습니다. 내 말은 내가 삽입 같은 테이블에 방아쇠를 원하는 것을 의미합니다. –