在存储过程中创建数据库,可以用变量做为数据库名吗?该如何处理

在存储过程中创建数据库,可以用变量做为数据库名吗?在存储过程中创建数据库,可以用变量做为数据库名吗?如:

在存储过程中创建数据库,可以用变量做为数据库名吗?
在存储过程中创建数据库,可以用变量做为数据库名吗?
如:
  create   procedure   createdb   (@dbname   varchar(30))
  as
  begin
          create   database   @dbname
  end

[解决办法]
create procedure createdb (@dbname varchar(30))
as
begin
exec sp_executesql N 'create database '+@dbname
end

[解决办法]
不行你就换个写法好了

create procedure createdb (@dbname varchar(30))
as
begin
exec ( 'create database '+@dbname)
end



[解决办法]
create procedure createdb (@dbname varchar(30))
as
begin
exec( 'create database '+ @dbname)
end

[解决办法]
create procedure createdb (@dbname varchar(30))
as
begin
exec( 'create database ' +@dbname)
end
[解决办法]
create procedure createdb (@dbname nvarchar(30))
as
begin
declare @strSql varchar(1000)
set @strSql= 'create database '+@dbname

exec sp_executesql @strSql
end