한 가지 방법은 몇 가지 동적 SQL을 설정하는 것입니다의 라인을 따라 :
DECLARE @Command varchar(1000)
SELECT @Command = replace('select * from <TargetDB>.dbo.table', '<TargetDB>', tabel1.database_name)
from table1
where [your criteria here]
EXECUTE (@Command)
또 다른 방법은 "대상"데이터베이스를 참조하는보기 (또는 동의어 또는 연결된 서버 정의)를 작성하는 것입니다.
DECLARE @Command varchar(1000)
SELECT @Command = replace('CREATE VIEW SomeView AS select * from <TargetDB>.dbo.table', '<TargetDB>', tabel1.database_name)
from table1
where [your criteria here]
EXECUTE (@Command)
이렇게하면 영구 (즉, 동적이지 않은) 코드에서 참조 할 수있는보기가 만들어집니다. targe 데이터베이스가 자주 변경되거나 많은 수의 대상 데이터베이스가있는 경우 이렇게하면 작동하지 않습니다.
솔직히 진정한 대답은 아니오,이 작업을 전혀 수행 할 수 없다는 것이고,이 작업을 수행해야하는 상황을 피하기 위해 최선을 다해야합니다. 이 하나에 나를 믿어, 그것은 디버깅 및 유지 보수 악몽이 될 수 있습니다.
코드, XML 또는 데이터 샘플을 게시하는 경우 텍스트 편집기에서 해당 행을 강조 표시하고 편집기 툴바에서 "코드 샘플"단추 ('{}) '를 클릭하여 멋지게 형식을 지정하고 구문을 강조 표시하십시오! –