발동시킬수 있나요??
분단위로 체크 작업 걸긴했는데
안돌아도 될게 도는거 같아서 ..;;;
Comment 2
-
초짜해커
2012.06.20 08:35
-
이스트럭(강동운)
2012.06.20 10:35
안녕하세요.
트리거는 초짜해커형님께서 알려드린데로 사용하시면 되지만.. 추가 설명드리겠습니다~!
GETDATE()는... 1/333 초 까지 측정이 가능한 시간입니다. 즉.. 아래 처럼 표현이 가능한데요~
2012-06-20 12:23:43.000
2012-06-20 12:23:43.003
2012-06-20 12:23:43.007
2012-06-20 12:23:44.0002012-06-20 12:23:43.003
...
즉... 테이블에 있는 DATETIME값하고... GETDATE()하고 같기 위해선..... 1/333 초까지 같아야한다는 것이죠~!
이 값을 가공해서.. 특정 분에 실행되게 하시려면...
CONVERT를 통해 가공하실 걸 권해드립니다.
CONVERT에 관련해선 아래 글 참고하시기 바랍니다.
GETDATE() CONVERT 정리: http://www.sqler.com/265068
예를들어 현재 시간 중 분을 리턴하고 싶으시면.. 아래처럼 하시면 됩니다.
SELECT CONVERT(DATETIME,CONVERT(CHAR(16),GETDATE()))
감사합니다.
트리거안에서는 inserted와 deleted라는 테이블에 접근할 수 있습니다.
inserted와 deleted는 트리거를 만든 테이블에 insert되거나 delete되는 데이타의 복사본입니다.
update 될경우는 두 테이블에 모두 데이타가 들어갑니다.
질문의 경우는 if datetime = getdate() ... 식으로 트리거를 작성하면 되겠네요.
주의할 것은 insert와 delete가 여러 row가 한꺼번에 발생했을때
inserted와 deleted도 여러 row가 생깁니다.