Exécution de USE some_db
en SQL dynamique fonctionne, mais malheureusement, lorsque la portée quitte le contexte de la base de données, il revient à ce qu'il était à l'origine.
Vous pouvez utiliser sqlcmd
mode pour cela (activez-le dans le menu "Requête" dans 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