sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:cambiar la base de datos actual a través de la variable

Ejecutando USE some_db en SQL dinámico funciona, pero desafortunadamente cuando el alcance sale, el contexto de la base de datos vuelve a ser como era originalmente.

Puede usar sqlcmd modo para esto (habilítelo en el menú "Consulta" en 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