USE DB, który może nie istnieć

Mam skrypt, który maUSE DATABASE komunikat. Skrypt działa doskonale, jeśli baza danych istnieje. Jeśli nie istnieje, zawodzi z komunikatem „baza danych nie istnieje”, co ma sens.

Teraz nie zawiodłem, więc dodałem czek, aby wybrać, czy baza danych istnieje w sys.databases (które tutaj będę reprezentować za pomocąIF 1=2 sprawdź dla uproszczenia), więc jeśli DB istnieje (1 = 1), uruchom instrukcję „use”.

Ku mojemu zdziwieniu, skrypt zawiódł. Próbowałem więc dodać blok TRY CATCH. Ten sam wynik. Wydaje się, że instrukcja use jest oceniana wcześniej niż cokolwiek innego, co jest dość denerwujące, ponieważ teraz mój skrypt może się zepsuć.

Moje pytanie brzmi: jak mogę miećuse oświadczenie dotyczące skryptu do bazy danych, która może nie istnieć?

BEGIN TRY
   IF (1=1) BEGIN --if DB exists
    USE DB_THAT_MAY_NOT_EXIST
   END 
END TRY
BEGIN CATCH
END CATCH

questionAnswers(3)

yourAnswerToTheQuestion