110,545
社区成员
发帖
与我相关
我的任务
分享
execute ('Declare curCol Cursor for select distinct '+@showCol+' from '+@tableName+' for read only') -
Declare cur Cursor for select * from Production.Table
Open cur
Fetch Next cur from cur
所以我说是不是其实解析到引擎的时候,内部自动处理...[/quote]
静态的当然不用加了,但是你的表名都是传入的,所以要先拼接字符串。
另外,你这个好像也没必要用游标吧[/quote]
不用游标?
貌似比较难完成哦.
如果但是分组统计还好,但是还要计算每个商品的哈...应该比较难..
Declare cur Cursor for select * from Production.Table
Open cur
Fetch Next cur from cur
所以我说是不是其实解析到引擎的时候,内部自动处理...[/quote]
静态的当然不用加了,但是你的表名都是传入的,所以要先拼接字符串。
另外,你这个好像也没必要用游标吧
Declare cur Cursor for select * from Production.Table
Open cur
Fetch Next cur from cur
所以我说是不是其实解析到引擎的时候,内部自动处理... when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
你复制的那一行换行了,when前面还有一个单引号呢。
' when '''+@proColumn+''' then '+@staticCol+' else null End) as ['+@proColumn+']'
其实就是字符串常量加变量.
你其实想拼成的sql语句是 when '电风扇' then fieldName else null end) as [电风扇]
用字符串表示就需要转义字符串内部的单引号
'when ''电风扇'' then fieldName else null end) as [电风扇]'
电风扇和fieldName是变量传入进来的,所以这个字符串要拆分成几段:
1、'when ''' ,后面的三个单引号的前两个其实是一个单引号的转义表示。
2、电风扇,@proColumn传入
3、...
拼接时就是 'when ''' + @proColumn
[/quote]
用字符串表示就需要转义字符串内部的单引号
'when ''电风扇'' then fieldName else null end) as [电风扇]'
这个我可以理解,但是 1、'when ''' ,后面的三个单引号的前两个其实是一个单引号的转义表示。
这个我不懂,是不是说错了.
' when '''+@proColumn+''' then '+@staticCol+' else null End) as ['+@proColumn+']'
是不是这样: 'when '''
中,前面的第一个 单引号是紧跟着 when中的单引号,第二个是转义第三个?
有点不解你的说法... when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
你复制的那一行换行了,when前面还有一个单引号呢。
' when '''+@proColumn+''' then '+@staticCol+' else null End) as ['+@proColumn+']'
其实就是字符串常量加变量.
你其实想拼成的sql语句是 when '电风扇' then fieldName else null end) as [电风扇]
用字符串表示就需要转义字符串内部的单引号
'when ''电风扇'' then fieldName else null end) as [电风扇]'
电风扇和fieldName是变量传入进来的,所以这个字符串要拆分成几段:
1、'when ''' ,后面的三个单引号的前两个其实是一个单引号的转义表示。
2、电风扇,@proColumn传入
3、...
拼接时就是 'when ''' + @proColumn
when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
exec @sql 是执行存储过程了
exec (@sql) 是执行sql语句[/quote]
谢...
请问这是个语法么?我的意思是加括号是表示执行过程,不加就表示执行语句?
csdn就是好...好心人多....[/quote]
是[/quote]
加括号执行语句。不加是过程或者其它,你可以去看看Execute的语法。 when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
exec @sql 是执行存储过程了
exec (@sql) 是执行sql语句[/quote]
谢...
请问这是个语法么?我的意思是加括号是表示执行过程,不加就表示执行语句?
csdn就是好...好心人多....[/quote]
是 when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
exec @sql 是执行存储过程了
exec (@sql) 是执行sql语句[/quote]
谢...
请问这是个语法么?我的意思是加括号是表示执行过程,不加就表示执行语句?
csdn就是好...好心人多.... when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?[/quote]
exec @sql 是执行存储过程了
exec (@sql) 是执行sql语句 when '''+@proColumn+''' then '+@staticCol+' else null
是什么意思么....
麻烦了...今天就你说对了..
这里我知道 单引号'可以转义 所以,两个单引号 ''表示一个单引号.但是这里有三个单引号,怎么像拼接又不拼接.
还有问你,execute @SQL改成execute (@SQL)
怎么一定要加括号?