Oracle笔记(七)数据更新、事务处理、数据伪列(三)
----------- ------------------
SALES CHICAGO AAAL+XAAEAAAAANAAC
RESEARCH DALLAS AAAL+XAAEAAAAANAAB
OPERATIONS BOSTON AAAL+XAAEAAAAANAAD
数据插入的早,ROWID就小,所以下一步首先必须确定的是不能删除的ROWID,去掉之前的限制(COUNT()>1),表示按照部门名称及位置分组,取出每一个最小的ROWID;
SELECT MIN(ROWID)
FROM dept
GROUP BY dname,loc;
以上的数据是删除的,所以下面编写DELETE语句:
DELETE FROM dept
WHERE ROWID NOT IN(
SELECT MIN(ROWID)
FROM dept
GROUP BY dname,loc);
COMMIT; www.2cto.com
此时就是根据ROWID完成的,而这道题目也就是ROWID现在为止的唯一可以看的见的作用。
在所有的伪列之中,只有ROWNUM是以后开发之中最为重要的部分,一定要掌握,而对于ROWID知道就行了,不必做太深入的了解。