
求解动态SQL中单引号(也许是转义符)用法,就是问代码中有的地方时三个引号,有的是两个,(补充) 5
是如何配对的,或者说作何理解?代码如下:EXECUTE('CREATEDATABASE'+@DatabaseName+'ONPRIMARY(NAME='''+@Datab...
是如何配对的,或者说作何理解?代码如下:
EXECUTE (
'CREATE DATABASE ' + @DatabaseName +
' ON PRIMARY
( NAME = ''' + @DatabaseName + '''
, FILENAME = ''F:\SQLDataFiles\' + @DatabaseName + '_data.mdf''
, SIZE = 20MB
, MAXSIZE = 100MB
, FILEGROWTH = 30%)
, FILEGROUP '+@FileGroupName +'
( NAME = ''' + @FileGroupName + '''
, FILENAME = ''F:\SQLDataFiles\' + @DatabaseName + '_data.ndf''
, SIZE = 2048KB , FILEGROWTH = 20%)
LOG ON
( NAME = ''' + @DatabaseName + '_log'+'''
, FILENAME = ''F:\SQLLogFiles\' + @DatabaseName + '_log.ldf''
, SIZE = 100MB
, FILEGROWTH = 20%);
ALTER DATABASE ' + @DatabaseName +
' MODIFY FILEGROUP ' + @FileGroupName + ' DEFAULT') 展开
EXECUTE (
'CREATE DATABASE ' + @DatabaseName +
' ON PRIMARY
( NAME = ''' + @DatabaseName + '''
, FILENAME = ''F:\SQLDataFiles\' + @DatabaseName + '_data.mdf''
, SIZE = 20MB
, MAXSIZE = 100MB
, FILEGROWTH = 30%)
, FILEGROUP '+@FileGroupName +'
( NAME = ''' + @FileGroupName + '''
, FILENAME = ''F:\SQLDataFiles\' + @DatabaseName + '_data.ndf''
, SIZE = 2048KB , FILEGROWTH = 20%)
LOG ON
( NAME = ''' + @DatabaseName + '_log'+'''
, FILENAME = ''F:\SQLLogFiles\' + @DatabaseName + '_log.ldf''
, SIZE = 100MB
, FILEGROWTH = 20%);
ALTER DATABASE ' + @DatabaseName +
' MODIFY FILEGROUP ' + @FileGroupName + ' DEFAULT') 展开
3个回答
展开全部
单引号是sql的保留字,再加一个单引号,即同时有2或3个时,sql才认为是按一个单引号进行执行。
具体的情况要进行调试,才能明白。
可以declare strsql nvarchar(1000)
strsql = '......',即你的语句
print strsql
这样就可以观察和调整了。
具体的情况要进行调试,才能明白。
可以declare strsql nvarchar(1000)
strsql = '......',即你的语句
print strsql
这样就可以观察和调整了。
展开全部
实在不好理解的话,用char(39)代替。我写程序都会写成char(39),自己看起来也比较明白
set @a=@DatabaseName+char(39)+'abc'+char(39)
set @a=@DatabaseName+char(39)+'abc'+char(39)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单引号在引号内用''表示
如要表示值:变'量
declare @c varchar(6)
set @c='变''量'
如要表示值:变'量
declare @c varchar(6)
set @c='变''量'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询