
正文
postgresql伪列的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
gp里用什么代替oracle里rownum,用什么代替rowid???
原因就在于Oracle对rownum的处理上,rownum是在得到结果集的时候产生的,用于标记结果集中结果顺序的一个字段,这个字段被称为“伪数列”,也就是事实上不存在的一个数列。
rownum和Dual表,应该是Oracle所特有的东西。 SQL Server和Sybase都没有这个,其它的数据库不好说。 rownum关键字,是Oracle为查询返回的行,顺序分配的编号,当然也可以作为Where条件来使用。
所以,rownum总是从1开始的,没有1和2的话,就不可能出现如果想用=3作为限制条件,楼主可以用rowid。rowid可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中唯一。只要记录没被搬动过,rowid是不变的。
rowid: 表示了记录的物理地址(不一定是连续的) 是唯一存在的 rownum:表示了记录的行号(是连续的)两者没有必然的联系,所以rowid排在前面的行,rownum不一定排在前面。
rownum是返回的记录编号。rowid可理解为返回记录的实际地址。当根据rowid访问时相当于不经查询直接取数,用rownum必须经过查询(即数据库里有查询动作)。
postgresql伪列的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、postgresql伪列的信息别忘了在本站进行查找喔。








