create proc 名
@类别 varchar(10),
@难度 int,
@题目 int
as
declare @a varchar(8000)
set @a='select top '+cast(@题目 as varchar(10))+' * from 表 where 所属类别='''+@类别+''' and 难易程度='+cast(@难度 as varchar(10))exec(@a)

解决方案 »

  1.   

    忘了随机了:
    create proc 名
    @类别 varchar(10),
    @难度 int,
    @题目 int
    as
    declare @a varchar(8000)
    set @a='select top '+cast(@题目 as varchar(10))+' * from 表 where 所属类别='''+@类别+''' and 难易程度='+cast(@难度 as varchar(10))+' order by newid()'exec(@a)
      

  2.   

    通过newid()函数得到随机记录select * from table order by newid()