无法使用mssql变量创建数据库

时间:2015-09-15 11:45:48

标签: sql-server

我想使用此脚本在MS SQL 2012R2中创建数据库

1 declare @userdb varchar(30)
2 SET @userdb = 'DB_testing'
3 create database @userdb

但是我收到此错误消息

  

Msg 102,Level 15,State 1,Line 3语法附近' @ userdb'。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

你必须使用动态SQL

 declare @userdb varchar(30)
 SET @userdb = 'DB_testing'

 declare @sql nvarchar(111);
 set @sql = 'create database  '+ @userdb 

 Exec (@sql)

答案 1 :(得分:2)

您可以使用其他答案中显示的动态SQL,也可以使用SQLCMD。

{{1}}

答案 2 :(得分:0)

您无法将变量传递给基本package marcus_cory2; import java.util.Random; public class GamePlay { public int randomInteger(int min, int max) { Random rand = new Random(); int randomNum = rand.nextInt((max - min) + 1) + min; System.out.println(randomNum); return randomNum; } } 语句,您将需要动态SQL

CREATE DATABASE