为什么微软建议用 TOP N 来代替 SET ROWCOUNT ?
微软的SQL 2000的手册中注明,建议用TOP N,而不要用SET ROWCOUNT,这是为什么?谢谢!
另外,如果采用 TOP N 的方式的话,这里的“N”必须是常量,而不能是变量。如果是变量的话,只能采用动态SQL语句,然后用EXEC的方式来执行,因此我想问的是,如果采用微软的建议,用动态SQL拼凑的语句和采用SET ROWCOUNT的方式,哪种好些呢?谢谢!
------解决方案--------------------TOP N
------解决方案--------------------我常用的是Set ROWCOUNT 因为用习惯了.
你也可以用TOP n 既然建议是它我想它应该更好些.
------解决方案--------------------2005可以TOP(@变量)了
------解决方案--------------------TOP N 使用起来灵活方便多了,这就是好处
实际上 TOP N 和 SET ROWCOUNT 效率是一样的
------解决方案--------------------MS的电话90909不0,你问问他们.
------解决方案--------------------我估计是为了向后兼容,以后的版本可能会放弃SET ROWCOUNT。
------解决方案--------------------MS的电话90909不0,你问问他们.
-------------------
我打了 空号
------解决方案--------------------好高深的电话号码~
------解决方案--------------------有时候用SET ROWCOUNT也很方便
------解决方案--------------------2005可以TOP(@变量)
------解决方案--------------------只能采用动态SQL语句,然后用EXEC的方式来执行
======
动态 sql 相对损失性能,因为需要即时编译