하나의 서버에 2 db가 있습니다. @db 변수를 기반으로 선택하는 절차를 작성해야합니다.SQL 서버 케이스 데이터베이스에서 선택
내가
@SQL nvarchar(max)
을 선언하고 일반 텍스트로 내 쿼리를 생성 :나는이 2 가능성을 알고있다. 그럼 난
exec @SQL
. 나쁜 변형 imho.비슷한 쿼리를 2 개 사용하고 @ db = ''첫 번째 쿼리 else 두 번째 쿼리를 사용합니다. 또 다른 나쁜 변형은 코드 중복이기 때문입니다.
질문은 - 이와 유사하게 수행 할 수있는 방법이 있습니까? select * from @ db.dbo.table?
동의어를보고 싶지만 중간 배치를 만들 수 있는지 모르겠습니다. http://msdn.microsoft.com/en-us/library/ms177544.aspx –
데이터베이스를 포함한 테이블 이름은 동적 SQL을 사용하지 않고 변수로 지정할 수 없습니다. 또 다른 대안은 사용자에게 값을 입력하도록 요청하고 사용자 입력을 기반으로 하드 코드 된 값으로 스크립트를 생성하는 것입니다. –