今天的文章,我想给你简单介绍下SQL Server里如何随机记录集。
SELECT * FROM Person.Person
ORDER BY NEWID()
GO
这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作。
但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集。
在SQL Server里,简单但很强大的方法用来随机化你的记录集。
以上所述就是本文的全部内容,希望大家可以喜
的文章,我想给你简单介绍下SQL Server里如何随机记录集。
1 SELECT * FROM Person.Person
2 ORDER BY NEWID()
3 GO
这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作。
但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集。
在SQL Server里,简单但很强大的方法用来随机化你的记录集。
为什么在存储过程中用OLEDB方式不能返回记录集?我曾写过一段程序,是对临时表操作的(主要功能是取出每种分类的TOP10条记录)。该存储过程使用ODBC连接数据库时正常,能够得到正确的结果。但在使用oledb方式连接时,却不能返回记录集,而一旦操作返回记录集时就出现错误提示:ADODB.Recordset 错误 ‘800a0e78’ The operation requested by the application is not allowed if the object is closed.