2012-03-01 2 views
0

동일한 SQL Server 인스턴스에 두 개의 테이블 CrossDBTrigTest_1CrossDBTrigTest_2이 있습니다.SQL Server의 데이터베이스 간 트리거

데이터베이스에는 모두 Employee이라는 테이블이 있습니다.

내가 Employee 테이블 CrossDBTrigTest_1 db에서 다음 트리거를 썼다 :

Create Trigger [dbo].[CrossDBInsert] on [dbo].[employee] after insert 
AS 
Begin 
    Set nocount on 

    Insert into CrossDBTrigTest_2.employee(FirstName, LastName, Date) 
    SELECT inserted.FirstName, inserted.LastName, getdate() 
    FROM inserted 
End 

하지만 Insert 문이 메시지와 함께 실패합니다

메시지 208, 수준 16, 상태 1, 프로 시저 CrossDBInsert, 5 호선
'CrossDBTrigTest_2.employee'개체 이름이 잘못되었습니다.

이와 같은 상황에서 교차 데이터베이스 트리거를 사용하려면 어떻게해야합니까 ??

답변

2

테이블 이름으로 사용

CrossDBTrigTest_2..employee 

. 하나 대신 두 개의 점을 기록하십시오.

6

CrossDBTrigTest_2.employee(FirstName,LastName,Date) 

CrossDBTrigTest_2.dbo.employee(FirstName,LastName,Date) 

해야하지 ???

관련 문제