Изпълнява се USE some_db
в динамичния SQL работи, но за съжаление, когато обхватът излезе, контекстът на базата данни се променя обратно към това, което беше първоначално.
Можете да използвате sqlcmd
режим за това (разрешете това в менюто "Заявка" в Management Studio).
:setvar dbname "MyNewDatabaseName"
IF DB_ID('$(dbname)') IS NULL
BEGIN
DECLARE @SqlQuery NVARCHAR(1000);
SET @SqlQuery = N'CREATE DATABASE ' + QUOTENAME('$(dbname)') + '
COLLATE SQL_Latin1_General_CP1_CI_AS'
EXEC(@SqlQuery)
END
GO
USE $(dbname)
GO