Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server:modifica il database corrente tramite variabile

Esecuzione di USE some_db in SQL dinamico funziona ma sfortunatamente quando l'ambito esce, il contesto del database viene riportato a quello che era originariamente.

Puoi utilizzare sqlcmd modalità per questo (abilitalo nel menu "Query" 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