set rowcount @Qty  --题目数量
select * from tablename order by newid()
set rowcount 0

解决方案 »

  1.   

    NEWID
    创建 uniqueidentifier 类型的唯一值。 语法
    NEWID ( )
      

  2.   

    NEWID
    创建 uniqueidentifier 类型的唯一值。 语法
    NEWID ( )返回类型
    uniqueidentifier示例
    A.对变量使用 NEWID 函数
    下面的示例使用 NEWID 对声明为 uniqueidentifier 数据类型的变量赋值。在测试该值前,将先打印 uniqueidentifier 数据类型变量的值。-- Creating a local variable with DECLARE/SET syntax.
    DECLARE @myid uniqueidentifier
    SET @myid = NEWID()
    PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)下面是结果集:Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF说明  对于每台计算机,由 NEWID 返回的值不同。所显示的数字仅起解释说明的作用。
      

  3.   

    --newid()是SQL中实现随机取数的关键.--下面是返回指定数目随机题的存储过程示例:
    create proc p_qry
    @num int   --要返回的题目数量
    as
    declare @s varchar(20)
    set @s=cast(@num as varchar(20))
    exec('select top '+@s+' * from 题库')
    go--或:
    create proc p_qry
    @num int   --要返回的题目数量
    as
    set rowcount @num
    select * from 题库
    go