SQL语句 随机取出n条记录再将这些记录插入到其他表

下面是我写的代码,肯定不对,求高人指教!createprocInsertPaper@LvintasBEGIN--从题目表Problem中取出10道难度为@Lv的题目,插入... 下面是我写的代码,肯定不对,求高人指教!
create proc InsertPaper
@Lv int
as
BEGIN
--从题目表Problem中取出10道难度为@Lv的题目,插入试卷表paper
declare @id int
select top 10 @id=id from Problem where Lv=@Lv --如何随机取10条

insert into Paper (Problemid)values(@id)
END
展开
 我来答
roaming_sheep
2012-03-24 · TA获得超过699个赞
知道小有建树答主
回答量:589
采纳率:0%
帮助的人:705万
展开全部
top 10 不是随机

你用的这个数据不知道支不支持sample一类的子句?
比如
select *
from problem
sample 10
更多追问追答
追问
sample是怎么用的   有没有sample的详细说明
追答
先说说看你用的什么数据库吧。
sample似乎不是sql标准,所以不同数据库实现方式会有不同
百度网友d9b156865
2017-10-14 · TA获得超过165个赞
知道小有建树答主
回答量:384
采纳率:33%
帮助的人:195万
展开全部
order by newid()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落叶有期
2012-03-24 · TA获得超过574个赞
知道小有建树答主
回答量:726
采纳率:0%
帮助的人:347万
展开全部

declare @id int
select top 10 @id=id from Problem where Lv=@Lv --如何随机取10条
insert into Paper (Problemid)values(@id)

改成:
insert into Paper(Problemid) select top 10 id from Problem where Lv=@Lv order by NewID()
追问
我知道了,使用order by NewID()就能实现随机取出记录!但是插入记录时不对,insert只能单条记录插入,现在要插入10条,用循环怎么写?或者能不能用其他方法。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alilinyou
2012-03-28
知道答主
回答量:62
采纳率:0%
帮助的人:25.9万
展开全部
不知道,学习中。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式