当前位置: 代码迷 >> ASP.NET >> 一条让小弟我崩溃的SQL语句
  详细解决方案

一条让小弟我崩溃的SQL语句

热度:3527   发布时间:2013-02-25 00:00:00.0
一条让我崩溃的SQL语句
exec sp_executesql N'SELECT DISTINCT TOP @nrows name FROM test WHERE name like @term', N'@nrows int,@term nvarchar(2)', @nrows=10,@term = N'n%'

第 1 行: '@nrows' 附近有语法错误。

应该怎么改啊

------解决方案--------------------------------------------------------
[color=#FF0000][/color]str(@nrows ) top后面只能跟常数!
------解决方案--------------------------------------------------------
嗯,是在回避问题...
使用 sp_executesql 时SQL Server会对语句进行编译,对于你给出的语句,在编译时就已经报错.
因为编译时 @nrows 还没有被替换成数字10,这里他是一个字符串
 
  相关解决方案