哪里错了?将数据库创建到指定目录的问题。

xiaohefeng 2003-04-09 03:29:56
我用以下语句创建一个数据库,但报错(@path1附近语法错误),请问哪里错了?谢谢!
declare @path varchar(200)
declare @path1 varchar(200)
declare @path2 varchar(200)
select @path = filename from master.dbo.sysfiles
set @path = ltrim(REVERSE(@path))
set @path1 = REVERSE(substring(@path,CHARINDEX('\',@path),len(@path))) +'zcgl2.mdf'
set @path2 = REVERSE(substring(@path,CHARINDEX('\',@path),len(@path))) +'zcgl2_log.LDF'


CREATE DATABASE [zcgl2] ON (NAME = N'zcgl2', FILENAME = @path1 , SIZE = 1, FILEGROWTH = 5%)
LOG ON (NAME = N'zcgl2_log', FILENAME = @path2, FILEGROWTH = 10%)
COLLATE Chinese_PRC_CI_AS
GO
...全文
31 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chiff 2003-04-09
  • 打赏
  • 举报
回复
此处不能用变量

declare @path varchar(200)
declare @path1 varchar(200)
declare @path2 varchar(200)
select @path = filename from master.dbo.sysfiles
set @path = ltrim(REVERSE(@path))
set @path1 = REVERSE(substring(@path,CHARINDEX('\',@path),len(@path))) +'zcgl2.mdf'
set @path2 = REVERSE(substring(@path,CHARINDEX('\',@path),len(@path))) +'zcgl2_log.LDF'


declare @sql nvarchar(4000)

set @sql = '
CREATE DATABASE [zcgl2] ON (NAME = N''zcgl2'', FILENAME = ''' + @path1 + ''' , SIZE = 1, FILEGROWTH = 5%)
LOG ON (NAME = N''zcgl2_log'', FILENAME = ''' + @path2 + ''', FILEGROWTH = 10%)
COLLATE Chinese_PRC_CI_AS
'

exec(@sql)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧