sql >> Database >  >> RDS >> Sqlserver

SQL Server:huidige database wijzigen via variabele

Uitvoeren van USE some_db in dynamische SQL werkt het wel, maar helaas, wanneer de scope wordt afgesloten, wordt de databasecontext teruggezet naar wat het oorspronkelijk was.

U kunt sqlcmd gebruiken modus hiervoor (schakel dit in het menu "Query" in Management Studio in).

: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


  1. Oracle Text werkt niet met NVARCHAR2. Wat is er nog meer niet beschikbaar?

  2. Een MySQL-query gebruiken met variabelen uit C#

  3. PHP Fatale fout:oproep naar niet-gedefinieerde functie mssql_connect()

  4. SQL Group By - records per maand/jaar tellen, fout bij invoegen - GEEN GELDIGE MAAND