解决方案 »
- PL/SQL连接oracle数据库问题
- 字符串操作求助
- 要备份 oracle9i目录服务ldap 中的schema, 用ldapsearch只能导出系统默认属性....
- 急求答案分不够可以再给 在workbench 从sqlserver2000 导入到Oracle 的问题
- [HELP]oracle入门级的ppt文档共享?
- 这个SQL语句怎么写?
- 字段记录如果不连续,查询分段情况
- 怎样把某字段重复的记录删除只留一条
- Oracle的解密问题?急!!!急!!!急!!!
- 寻找书籍(oracle 8i tuning, pdf)
- 请教如何合并两张表相同数据,不同数据分别展示
- ORA-01655和ORA-06512错误,求指点
select t1.rn
from (select level rn from dual connect by level < 1501) t1
where not exists (select 1 from table t2 where t1.rn = t2.id);
declare
i number;
nums number;
begin
for i in 1..1500 loop
select count(*) into nums from address_list where id = i;
if nums = 0 then
dbms_output.put_line(i);
end if;
end loop;
end;
select a.rn from (select rownum rn from dual connect by rownum < =1500) a
where not exists(select 1 from 表名 b where a.rn=b.id) order by a.rn
2 I INTEGER;
3 BEGIN
4 FOR I IN 1 .. 1500
5 LOOP
6 INSERT INTO T_NO VALUES (I);
7 END LOOP;
8 COMMIT;
9 END;
10 /PL/SQL procedure successfully completed.scott@PROD>DELETE FROM t_no WHERE cno IN (6, 100, 101, 1000, 1001, 1200, 1400, 1403, 1480, 1481);10 rows deleted.scott@PROD>commit;Commit complete.scott@PROD>SELECT CNO, NEXT_CNO
2 FROM (SELECT CNO, LEAD(CNO, 1) OVER(ORDER BY CNO) AS NEXT_CNO FROM T_NO) T
3 WHERE T.NEXT_CNO - T.CNO > 1; CNO NEXT_CNO
---------- ----------
5 7
99 102
999 1002
1199 1201
1399 1401
1402 1404
1479 1482 7 rows selected.
查询出来的行次,NEXT_CNO - CNO 就是缺的。
select rownum from dual connect by rownum<=1500
minus
select id from T
minus 比较好,清晰,简单。
select t1.rn
from (select level rn from dual connect by level < 1501) t1
where not exists (select 1 from table t2 where t1.rn = t2.id);
这个也不错