求解这个错误

far_2 2007-11-04 07:52:58
各位高手~把帮小弟看看这个语句为什么会报错吧~谢谢了先~


DECLARE @UserID uniqueidentifier

SELECT @UserID=UserID FROM [USER]
WHERE GroupName='第一队'

EXECUTE ('SELECT TOP 5 Title,UpdateTime,Hit
FROM NEWS
WHERE UserID='+@UserID+
' ORDER BY UpdateTime DESC')
GO

错误是~
服务器: 消息 170,级别 15,状态 1,行 3
第 3 行: 'C52' 附近有语法错误。
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
internetroot 2007-11-04
  • 打赏
  • 举报
回复
语句
EXECUTE   ( 'SELECT   TOP   5   Title,UpdateTime,Hit   
FROM NEWS
WHERE UserID= '+@UserID+
' ORDER BY UpdateTime DESC ')

中的:WHERE UserID=某某值 时是不是应该为:WHERE UserID='某某值'?
你试试这个
DECLARE   @UserID uniqueidentifier 

SELECT @UserID=UserID FROM [USER]
WHERE GroupName= '第一队 '

EXECUTE ( 'SELECT TOP 5 Title,UpdateTime,Hit
FROM NEWS
WHERE UserID= '''+@UserID+
''' ORDER BY UpdateTime DESC ')
yujiang930 2007-11-04
  • 打赏
  • 举报
回复
不是2个''表示1个'
'+@UserID+ ' 表示引用变量 同VB里的 '"& aa &"'
Generics 2007-11-04
  • 打赏
  • 举报
回复
是.
far_2 2007-11-04
  • 打赏
  • 举报
回复
恩谢了~好了!这里是不是''就代表引用一个引号呀?

34,593

社区成员

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

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