Oracle数据表在设计时没有放置主键字段,现要对表进行修改删除操作,只能考虑用rowid来唯一标识行。

查询SQL如下:

select t.*, t.rowid from t_demo t

用ResultSet得到的结果是如下形式:

ROWID=oracle.sql.ROWID@8d5a91
ROWID=oracle.sql.ROWID@3508c0
ROWID=oracle.sql.ROWID@1d183b7
ROWID=oracle.sql.ROWID@1e937f

很显然是格式转化的问题,上网查了资料找到了rowidtochar这个函数,把rowid转换成char类型,问题解决。

1. 查询列表时:

select t.*, rowidtochar(t.rowid) as strrowid from t_demo t

2. 获取行记录时:

select t.* from t_demo t where rowidtochar(t.rowid)='AAAIKTAAJAAALnHAAA'

相关文章:

  • 2021-10-09
  • 2021-06-20
  • 2021-09-13
  • 2022-12-23
  • 2022-01-07
  • 2022-02-10
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
  • 2021-09-11
  • 2021-09-26
  • 2021-11-12
相关资源
相似解决方案