加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server:在CREATE DATABASE中使用参数

发布时间:2020-12-12 06:39:51 所属栏目:MsSql教程 来源:网络整理
导读:我想指定使用参数在SQL脚本中创建数据文件和日志文件的路径.这是我写的: DECLARE @DataFilePath AS NVARCHAR(MAX)SET @DataFilePath = N'C:ProgramDataGemcom'DECLARE @LogFilePath AS NVARCHAR(MAX)SET @DataFilePath = N'C:ProgramDataGemcom'USE mast
我想指定使用参数在SQL脚本中创建数据文件和日志文件的路径.这是我写的:
DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:ProgramDataGemcom'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:ProgramDataGemcom'


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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读