【发布时间】:2014-01-23 10:21:55
【问题描述】:
我正在尝试创建一个通用脚本来创建数据库并希望将数据库名称作为变量传递;但它不起作用。
这是我目前的代码
DECLARE @ID sysname;
SET @ID = 'test'
SET @ID = QUOTENAME(@ID)
CREATE DATABASE @ID
ON PRIMARY
( NAME = [' + @ID + '], FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\' +@ID+ '.mdf' , SIZE = 211968KB ,
MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = [' + @ID + '_log'], FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\'@ID + '_log.ldf' , SIZE = 149696KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
这给了我以下错误:
“@ID”附近的语法不正确。
【问题讨论】:
-
我认为它不工作? :}
-
是不工作(对不起),它给出错误“'@ID'附近的语法不正确。”
-
欢迎来到 SO,顺便说一句。 :} 对您的问题有帮助的是提供您遇到的特定错误消息,您尝试过的无济于事等等。它将帮助那些寻求帮助您的人不必运行您提供的内容以自己查看错误,可能会在他们的环境中看到不同的错误或没有错误,并且通常会减少摩擦以帮助您。
标签: sql-server-2008 tsql scripting ddl