문제

나의 커플 트리거에는 테이블이하고 싶다. 별도의 고 싶 priortize 니다.

나는 단지 하나의 트리거와 논리가 있지만,제가 궁금했던 경우는 있었다 더 쉽게/논리적인 방법으로 이를 수행하는 데에 미리 정의된 주문합니까?

도움이 되었습니까?

해결책

사용 sp_settriggerorder.지정할 수 있는 첫 번째와 마지막 트리거를 화재에 따라서는 작업입니다.

sp_settriggerorder MSDN

위에서 연결:
A.설정하는 발사기에 대한 DML 트리거
다음 예에서 지정하는 방아쇠 uSalesOrderHeader 수하려면 먼저 한 후 업데이트 작업에서 발생합니다.SalesOrderHeader 테이블.

USE AdventureWorks;
GO
sp_settriggerorder 
    @triggername= 'Sales.uSalesOrderHeader', 
    @order='First', 
    @stmttype = 'UPDATE';

B.설정하는 발사하기 위한 DDL 트리거
다음 예에서 지정하는 방아쇠 ddlDatabaseTriggerLog 될 첫 번째 트리거를 불 ALTER_TABLE 이벤트가 발생에 흐 데이터베이스입니다.

USE AdventureWorks;
GO
sp_settriggerorder 
    @triggername= 'ddlDatabaseTriggerLog', 
    @order='First', 
    @stmttype = 'ALTER_TABLE', 
    @namespace = 'DATABASE';

다른 팁

.

당신이 사용할 수 있는 sp_settriggerorder 순서를 정의의 각각에서 트리거합니다.

그러나 내가 주장을 훨씬 더 잘 갖는 하나의 트리거는 여러 가지.이 특히 그렇다면 이 순서가 중요한 것,그 이후 중요성이 매우 분명 여러 개 있는 경우 트리거합니다.누군가가 상상력을 지원하는 데이터베이스 월/년할 수 있습니다.의 코스가 될 가능성이 있는 경우가야 할 여러 개의 트리거나 그것은 정말 좋은 디자인,하지만 나는 시작을 가정해야 하나 있습니다.

Rememebr 을 변경하면 트리거하기 위해,다른 사람이 올 수 있었에 의해 나중에 다시 정렬하고 그것을 다시합니다.고 당신은 어디에서 문서 무엇을 트리거하기 위해야 하므로 유지 보수 개발자를 엉망으로는 것일까요?면 두 가지 트리거 작업은 확실히 수행해야 합니다 특정 순서만 안전 경로를 넣어 같은 트리거입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top