DECLARE @dbfilepath nvarchar(128)
SET @dbfilepath = 'C:\SqlDataFiles\Cache.mdf'
GO
USE [master]
GO
CREATE DATABASE [Cache] ON PRIMARY
( NAME = N'Cache', FILENAME = @dbfilepath, SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
GO,为什么这不起作用?
它规定:
Msg 102,级别15,状态1,第3行语法不正确,靠近“@dbfilepath”.
发布于 2011-06-14 15:53:41
你需要执行它;
USE [master]
GO
DECLARE @dbfilepath nvarchar(128) = 'C:\MSSQL\Cache.mdf'
DECLARE @SQL NVARCHAR(MAX) = N'CREATE DATABASE [Cache] ON PRIMARY (NAME = N''Cache'', FILENAME = ''' + @dbfilepath + ''', SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )'
EXEC(@SQL)发布于 2011-06-14 15:44:58
试试这个:
DECLARE @dbfilepath nvarchar(128);
SET @dbfilepath = 'C:\\SqlDataFiles\\Cache.mdf';
PRINT @dbfilepath;要在Create语句中使用@dbfilepath,需要使用动态sql。
https://stackoverflow.com/questions/6346241
复制相似问题