1、用随机函数
select mobile into v_mobile from
(
select mobile,rownum as rid from t_user
)
where rid =trunc(dbms_random.value(1,v_count)) ;返回的结果 有时候出现空行 有时返回符合要求的一行 有时候返回多行2、采用sample
select mobile into v_mobile from (
select mobile,rownum as rid from t_user sample(10)
)
where rownum <2;检索的结果 正常问:为什么第一种方式不对?
select mobile into v_mobile from
(
select mobile,rownum as rid from t_user
)
where rid =trunc(dbms_random.value(1,v_count)) ;返回的结果 有时候出现空行 有时返回符合要求的一行 有时候返回多行2、采用sample
select mobile into v_mobile from (
select mobile,rownum as rid from t_user sample(10)
)
where rownum <2;检索的结果 正常问:为什么第一种方式不对?
(
select mobile,rownum as rid from t_user
)
你肯定就非常明白了。
FROM (SELECT mobile, ROWNUM AS rid
FROM mobile ) ttt
WHERE rid = (SELECT TRUNC (DBMS_RANDOM.VALUE (1, 100))
FROM DUAL);