참고 1 : 지금까지 연구 한 내용에서 볼 수있는 방법은 없습니다. 그러나 내가 틀렸다고 희망합니다.조건부 트리거 : CONNECT 문 SQL
주 2 : 이의 목표는 ID 번호를 기반으로 정보를 찾기 위해 다른 데이터베이스
내가 (SSMS에서) SQL 스크립트를 쓰고 있어요에 쿼리 사이의 연결을 변경해야 할 필요성을 제거하는 것입니다. 이 쿼리를 실행할 수있는 데이터베이스가 2 개 있습니다 (테스트 DB와 프로덕션 DB). ID 번호는 테스트 DB 또는 프로덕션 중 하나이지만 둘 다가 아닙니다. 내가하고 싶은 SQLCMD 모드에서 CONNECT 문을 (또는 다른 방법이지만, 아직 하나를 찾을 수있다) 적절한 DB에 연결하는 것입니다. 이와 같이 : 위의 코드는 이론적으로 내가 올바른 DB에 연결되어 있는지 확인합니다 (ID가 존재한다고 가정). 두 번째 : CONNECT 문은 IF EXISTS에 관계없이 활성화되므로 프로덕션에 대해 항상 쿼리가 실행됩니다.
이 목표를 달성 할 수있는 방법이 있습니까? 미리 감사드립니다.
'IF NOT EXISTS'는 T-SQL 문이고': CONNECT'는 SQLCMD 문이므로 이것은 작동하지 않습니다. SQLCMD는 SSMS 파서에 의해 실행되는 반면 T-SQL은 데이터베이스에 의해 실행됩니다. SQLCMD에는 조건부 논리가 없으므로 SQLCMD 스크립트에서 수행하려는 작업을 수행 할 수 없습니다. 데이터베이스가 같은 인스턴스에 있다면,': CONNECT' 대신에'USE' (T-SQL 명령)을 사용하십시오. 다른 인스턴스에 있다면 SSMS에서이를 수행 할 수 없습니다. 적절한 매개 변수를 사용하여 외부 적으로'sqlcmd'를 호출해야합니다. –