2011-08-21 154 views
-1

我正在使用jsp和servlets以及oracle 10g访问层的项目。我在数据库的一个字段上创建了一个序列,当插入一条记录时它会自动增加。 该序列作为字符串存储在数据库中。现在我必须使用servlet随机选择这些序列元素中的几个。在java中随机选择字符串

我该怎么办?

+3

这不是JSP/Servlet问题。在具有'main()'方法的普通vanilla Java类中这样做时,你会遇到完全相同的问题。你的问题在SQL领域更多。我建议重新形成你的问题,如“如何选择* n *使用SQL的随机行?”。然后,您只需使用JDBC以通常的方式执行该SQL。无论您调用JDBC代码的位置(普通Java类还是Servlet类),它都会得到相同的结果。 – BalusC

回答

0

一个简单的谷歌搜索使我对下面的查询:

SELECT column FROM 
    (SELECT column FROM table 
    ORDER BY dbms_random.value) 
WHERE rownum <= 10 

这将(在Oracle)选择10个兰多TABLE.COLUMN值。

如果你需要更多的列:

SELECT * FROM 
    (SELECT column1, column2, column3 FROM table 
    ORDER BY dbms_random.value) 
WHERE rownum <= 10 

只需使用JDBC来执行这个查询。