为什么Sql Server里TOP 后面不能跟变量呢?如何解决?

pellet 2006-08-01 05:31:34
我写一个存储过程,里面有一句
Select top @size ID from table1

但是不允许在TOP后面跟变量

sql server这样做是为什么?

有什么方法能解决么?
...全文
485 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyxfly 2006-08-01
  • 打赏
  • 举报
回复
注入漏洞问题可以在前台处理呀
pellet 2006-08-01
  • 打赏
  • 举报
回复
只能用动态语句了吗

不过用动态语句的话,如果传入的参数有字符串类型的话,就有可能有注入漏洞了
paoluo 2006-08-01
  • 打赏
  • 举报
回复
SQL2005可以的,2000就只能用動態語句的
lalakid 2006-08-01
  • 打赏
  • 举报
回复
SQL SERVER 2000不支持 TOP + 变量
只能用动态SQL 解决
盖子看大家都有这个需求
于是呼
SQL SERVER 2005 支持这个功能了
xyxfly 2006-08-01
  • 打赏
  • 举报
回复
用动态SQL试试
exec ('Select top '+ @size+' ID from table1')

34,588

社区成员

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

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