日期:2014-05-17  浏览次数:20401 次

语句错误。帮忙看看
本帖最后由 cngothic 于 2013-12-10 15:07:33 编辑
程序执行提示@table未声明标量变量。监控SQL得到下面语句。麻烦朋友帮我纠正语法错误
谢谢

exec sp_executesql N'select top 50 U.U from @table S join user_temp U on S.sign = U.sign and S.P=(select top 1 P from @table where sign = U.sign and P like (''+ @P +%'') order by Sign desc, P asc) where s.P like (''+ @P +%'') order by orderby DESC',N'@table varchar(20),@P varchar(30)',@table='st',@P='cngothic'

------解决方案--------------------
在 sp_executesql  这个中,不能把表名、列名,做成变量的,会报错。

建议你直接用exec来做吧