1,背景:
在oracle中,对ROWIDTOCHAR的介绍如下:
ROWIDTOCHAR(rowid) 。。
【功能】转换rowid值为varchar2类型
【参数】rowid,固定参数
【返回】返回类型为字符串
【oracle示例】 SELECT ROWIDTOCHAR(rowid) FROM DUAL; 【说明】 在Oracle中,每一条记录都有一个rowid,,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。
2,现状:
在lightdb-oracle模式,2023-RP4之前暂不支持该函数,从2023RP4开始支持本功能;
描述:
lightdb内部table存储的每一行都有一个ROWID,ROWIDTOCHAR接收该值的入参类型为TID类型;该TID由BLOCK_ID和ITEM_ID组成,即哪个数据块的哪条记录;
该长度为最长18位的字符串,由于PostgreSQL的引擎为多版本引擎,因此一条记录在被更新后ROWID会发生变化(代表了新的版本)。
3,使用案例
eg3.1:
create database testoracle with lightdb_syntax_compatible_type oracle;
\c testoracle
CREATE TABLE test_rowid_table (id int);
INSERT INTO test_rowid_table (id) VALUES