1

oracle 有一个叫做行 id 的东西,它只是一个伪列,在 postgres 和 EDB 中是否有任何替代品。如果是,那是什么,如果不是,我该如何解决这个问题。

供参考

SELECT /*+ PARALLEL(2) FULL(t) */ 
rowid, account_id, service_id, charge_date
FROMemployee %s t;
4

2 回答 2

1

正确的替换是表的主键

PostgreSQL 确实有一个相当于 Oracle 的ROWIDctid但由于不同的实现,该值随着每次更新而变化,并且不能用于可靠地识别跨不同 SQL 语句的表行。

于 2022-01-25T06:49:42.457 回答
0

这是一个简单的解决方法:

select rank() over (partition by <primary key> order by <primary key>) as rn,* 
from <tablename>;
于 2022-01-25T13:07:44.177 回答