2012-05-06 1 views
0

INSTEAD OF 트리거를 실행할 수 있는지 여부를 프로그래밍 방식으로 결정할 수 있습니까? 내가 원하는 것은 트리거 내부에 이와 같은 코드가 있습니다 ...트리거 대신 SQL Server 2008에서 실행 여부를 프로그램 방식으로 결정합니까?

If (some condition = true) then 
     handle the INSTEAD OF trigger code 
else 
     return // let the insert/update/delete operation happen normally 

SQL Server 2008에서는 가능합니까?

업데이트 : 내 질문을 명확히하겠습니다. 트리거 내부에서 조건문을 실행할 수 있다는 것을 알고 있습니다. 그러나, 내가 이해하기 때문에, 만약 당신이 대신 트리거를 실행하면 일반 삽입/업데이트/삭제 작업을 실행할 수있는 방법이 없습니다. 가능하다면 나는 두 세계의 장점을 원합니다.

+0

나는 좀 더 구체적이어야한다고 생각합니다. 트리거에 값을 전달하거나 내부에 논리를 넣을 수 있기를 원하십니까? 그 대답은 예와 아니오입니다. – Ben

+0

불가능합니다. 트리거는 정의 된 경우 항상 실행됩니다. 분명히 보통 삽입을 수행하기위한 조건부 논리를 가질 수는 있지만 트리거를 건너 뛸 수는 없으며 삽입/삭제 된 의사 테이블을 설정하는 데 트리거 오버 헤드가 발생합니다. –

+0

그냥 예를 들어서 잘못 입력하지 말아라. 트리거에 값을 전달할 수는 없지만 조건부 논리를 트리거 내부에 둘 수 있습니다. – Ben

답변