테이블의 레코드를 랜덤하게 몇개만 뽑을때 유용하다.
EXAM 테이블에서 특정 개수만큼 레코드를 랜덤하게 가져올때

	SELECT INF.EXAMNUM
	  FROM (SELECT EX.EXAMNUM                           /* 문제번호 */
	              ,EX.SUBJ                              /* 과정코드 */
	              ,EX.LESSON                            /* 차시 */
	              ,EX.EXAMTYPE                          /* 문제분류 */
	              ,EX.LEVELS                            /* 난이도 */
	          FROM EXAM EX
	         WHERE 1 = 1
	           AND SUBJ              = #subj#
	           AND TO_NUMBER(LESSON) = #lesson#
	           AND EXAMTYPE          = #examtype#
	           AND LEVELS            = #levels#
	         ORDER BY DBMS_RANDOM.VALUE
	      ) INF
	 WHERE ROWNUM <= TO_NUMBER(TO_CHAR(#examcnt#))



저작자 표시
신고
posted by 뚱2