不知道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对数据库的检索效率. |