I am trying to create SQL Scripts to move old data to a seperate database. The problem I have right now is that I want to name the Database from an SELECT statement.
use DBName;
declare @release varchar(max)
set @release = concat('Release_',(select MetaRevision from metarevision))
select @release
if db_id(@release) is null create database @release
Sadly this does not work. I get the following error:
Incorrect syntax near '@release'
Is there a way to name a Database from an Select Statement?
exec ('create database ' + quotename(@release))or something like that.create databaseis a name, not a string/varchar. In other words,create database XYZis correct, whilecreate database 'XYZ'isn't - and that is why alsocreate database @releaseis not allowed.declare @release nvarchar(10) = 'abc'; declare @sql nvarchar(100) = 'create database ' + quotename(@release); exec (@sql);or something like that.