SQL Server: изменить текущую базу данных через переменную

Я использую SQL Server 2008 и пытаюсь изменить текущее имя базы данных на одно в переменной. Я обычно делаю это явно со статиейUSE myDatabaseName, Вопрос возникает потому, что если я запускаю скрипт и не изменяю имя базы данных, он создает все таблицы в[master] база данных.

Я попробовал следующее, но, похоже, не работает, поскольку он продолжает применять остальную частьcreate tables коды к[master].

DECLARE @dbName CHAR(50)
DECLARE @SqlQuery varchar(50)
SET @dbName = 'MyNewDatabaseName'

IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = @dbName)
BEGIN
    SELECT @SqlQuery = 'CREATE DATABASE ' + @dbName + 'COLLATE SQL_Latin1_General_CP1_CI_AS'
    EXEC(@SqlQuery) 
END

Select @SqlQuery = 'Use ' + @dbName
EXEC(@SqlQuery)
go

Ответы на вопрос(3)

Ваш ответ на вопрос