本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9694653
建立时间:2004年12月20日




[数据库]sqlserver中top n的尴尬
原创空间,  软件技术

邢红瑞 发表于 2005/8/31 12:59:30

不知道sysbabse和ms的高手怎末想出这末个东西,select top 10 * from user 检索用户表的前10个数据,这给数据库的开发者带来很大的麻烦,根据sql92标准中会将'100'当作100来处理 所以一切都用字符就可以了,但是select top '10' from user  是不行的,那末你会想使用预处理可以解决这个问题,对不起select top ? from user 肯定不支持.如果不出现这个问题,数据库底层的开发者就不用考虑参数是数值还是字符的问题了,一切作为字符处理就OK了.这点远不如oracle和mysql,oracle复杂一些,必须用sql嵌套,select RTS.* from (select * from user ) RTS where rownum <10,mysql就简单了,select * from user limit 10,mysql和oracle都可以用预处理,它产生的直接后果就是sqlserver的数据库分页极其复杂,而且不能用预处理,降低了jdbc对数据库的检索效率.


阅读全文(6279) | 回复(2) | 编辑 | 精华
 


回复:sqlserver中top n的尴尬
原创空间,  软件技术

jj5715(游客)发表评论于2005/11/26 20:08:31

的确如此,我在做分页显示时,用预处理来查询数据库想要传参数到语句中里的top ?无法实现. 可是按照你说的select RTS.* from (select * from user ) RTS where rownum <10这个方法也不行呀。


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:sqlserver中top n的尴尬
原创空间,  软件技术

wwww(游客)发表评论于2005/9/20 14:45:09

//./.l;l;lll;'l;l;l;l;;l;;l;ll;;;;;;;;;;;

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144766624 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号