-1
jsp와 servlets을 사용하는 프로젝트와 oracle 10g을 액세스 레이어로 사용하고 있습니다. 레코드가 삽입 될 때 자동으로 증가하는 데이터베이스의 필드에 시퀀스를 만들었습니다. 시퀀스가 데이터베이스에 문자열로 저장됩니다. 이제 서블릿을 사용하여 이러한 시퀀스 요소를 무작위로 선택해야합니다.임의의 자바 문자열 선택
어떻게 할 수 있습니까?
jsp와 servlets을 사용하는 프로젝트와 oracle 10g을 액세스 레이어로 사용하고 있습니다. 레코드가 삽입 될 때 자동으로 증가하는 데이터베이스의 필드에 시퀀스를 만들었습니다. 시퀀스가 데이터베이스에 문자열로 저장됩니다. 이제 서블릿을 사용하여 이러한 시퀀스 요소를 무작위로 선택해야합니다.임의의 자바 문자열 선택
어떻게 할 수 있습니까?
간단한 구글 검색은 다음 쿼리를 알려준 :
SELECT column FROM
(SELECT column FROM table
ORDER BY dbms_random.value)
WHERE rownum <= 10
이 (오라클) 10 개 randow의에는 table.column 값을 선택합니다.
당신은 더 많은 열을 필요로하는 경우 :
이SELECT * FROM
(SELECT column1, column2, column3 FROM table
ORDER BY dbms_random.value)
WHERE rownum <= 10
그냥이 쿼리를 실행 JDBC를 사용합니다.
이것은 JSP/서블릿 문제가 아닙니다. 'main()'메소드를 사용하여 일반 바닐라 자바 클래스에서 그렇게 할 때 똑같은 문제가 발생할 것이다. 귀하의 문제는 SQL 영역에서 더 많이 발생합니다. "SQL을 사용하여 * n * 임의의 행을 어떻게 선택합니까?"와 같이 질문을 재구성 할 것을 제안합니다. 그런 다음 일반적인 방법으로 JDBC를 사용하여 SQL을 실행하면됩니다. JDBC 코드 (일반적인 Java 클래스 또는 Servlet 클래스)를 호출하는 위치와 상관없이 동일한 결과를 제공합니다. – BalusC