Ausführen von USE some_db
in dynamischem SQL funktioniert, aber leider wird der Datenbankkontext wieder auf den ursprünglichen geändert, wenn der Gültigkeitsbereich beendet wird.
Sie können sqlcmd
verwenden
Modus dafür (aktivieren Sie dies im Menü "Abfrage" in 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