简单了解一下rownum
rownum是oracle对结果集返回的一个伪列,也就是说在查询完结果之后加上的一个虚列,相当于对符合条件的结果的一个序列号。如果有结果的话,rownum伪列产生的序号是按照数据被查询出来的顺序添加上去的, rownum总是从1开始,依次加1
案例:将表tableName中的rownum值赋值给表tableName中的sort列
PS:tableName可以是相同的表也可以是不同的表
实现语句
UPDATE tableName A SET A.SORT = (
SELECT b.num from(
SELECT id,ROWNUM as num FROM tableName
) b WHERE A . ID = b. ID
)
从SQL语句中可以看出ROWNUM是 先查询之后再使用的,这也对应了ROWNUM的特性