Oracle:使用ROWNUM和ORDER BY子句更新表列
||
我想用一个正在运行的整数填充一个表列,所以我正在考虑使用ROWNUM。但是,我需要根据其他列的顺序填充它,例如
ORDER BY column1, column2
。不幸的是,这是不可能的,因为Oracle不接受以下语句:
UPDATE table_a SET sequence_column = rownum ORDER BY column1, column2;
也不执行以下语句(尝试使用WITH子句):
WITH tmp AS (SELECT * FROM table_a ORDER BY column1, column2)
UPDATE tmp SET sequence_column = rownum;
那么,如何在不使用PL / SQL中的游标迭代方法的情况下使用SQL语句来做到这一点呢?
没有找到相关结果
已邀请:
4 个回复
娜拐赐巫潭
或者,您使用“ 4”语句。这样的事情。
贸会
但这并不会很快,正如Damien指出的那样,每次更改该表中的数据时,都必须重新运行该语句。
曝匿弄罚
之后,使用以下顺序更新表:
戒黑恳农