SQL Server:在CREATE DATABASE中使用参数

前端之家收集整理的这篇文章主要介绍了SQL Server:在CREATE DATABASE中使用参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想指定使用参数在sql脚本中创建数据文件和日志文件的路径.这是我写的:
DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'


USE master
Go
CREATE DATABASE TestDB
ON 
PRIMARY 
( NAME = N'TestDB_Data',FILENAME = @DataFilePath )
LOG ON 
( NAME = N'TestDB_Log',FILENAME = @LogFilePath  )

GO

不幸的是,这不起作用.当我尝试在sql Server Management Studio中运行它时,我收到了错误

Incorrect Syntax near
‘@DataFilePath’.

我想知道我打算做什么甚至是可能的?

谢谢

解决方法

您将不得不使用动态sql
SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'',FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'',FILENAME = ' + quotename(@LogFilePath) + ')'

EXEC (@sql)

猜你在找的MsSQL相关文章