트리거시 전체 초보자 ... 모든 문서는 초보자 용 물건에 신경 쓰지 않습니다.간단한 업데이트 트리거 + 간단한 행 삽입
방금 업데이트되었거나 업데이트 된 행을 업데이트하려고합니다. 내 트리거 아래 전체 테이블을 업데이트합니다. 아래의 트리거는 변경 사항에 대해 두 개의 열만 테스트합니다.
이 업데이트 트리거를 전체 테이블이 아닌 업데이트 된 행만 업데이트하도록 어떻게 제한합니까?
ALTER TRIGGER [dbo].[geog_update] ON [dbo].[Site]
FOR UPDATE
AS
SET NOCOUNT ON
IF (UPDATE(Latitude) OR UPDATE(Longitude))
BEGIN
UPDATE Site
SET geog = geography::Point([Latitude], [Longitude], 4326)
WHERE Latitude is not null and Longitude is not null
END
난 그냥 FOR UPDATE를 사용하여 삽입 된 행에 대해 같은 트리거를 사용할 수입니까? INSERT가 UPDATE를 암시하지 않는 한, IF가 컬럼에 대해 UPDATE()를 체크했기 때문에 아마 아니다.
그 정보를 주셔서 감사합니다.하지만 어떻게 간단한 트리거를 작성합니까? – rheitzman
감사합니다 - 최종 SQL 아래. – rheitzman