2011-08-21 149 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來執行這個查詢。