现在表中的数据有一条编号的字段。。。每次追加数据,想从1到999之间没有被其他数据所占用的数字作为这条数据的编号来使用。。。
相请教大神。。。获得编号这个SQL文应该怎么写。。。
------解决方案--------------------
SELECT ABS(MOD(DBMS_RANDOM.RANDOM,1000)) id from table_dual where id not in
(select id from table_dual)
------解决方案--------------------
select level from dual connect by level <1000
minus
select distinct a from tmp_table where a between 1 and 1000
------解决方案--------------------
select min(l) l
from (select level l from dual connect by level < 1000) t
where l not in (select distinct l from table_name)
------解决方案--------------------
with simo_sd as
(select 1 as id from dual
union all
select 2 from dual
union all
select 3 from dual
union all
select 19 from dual
union all
select 433 from dual)
--查询语句
select min(lv)
from (select level as lv from dual connect by level <= 999) d
where not exists (select 1 from simo_sd f where d.lv = f.id);