将 Oracle DB table 的 ROWID 存储为字符数组
Storing Oracle DB table's ROWID as a character array
我想从 Oracle 数据库中检索 table 的 ROWID 并将其作为字符数组存储在内存中供以后使用。比如我运行下面的查询:
SELECT ROWID, MARKS FROM MTB WHERE EID='123';
然后使用 Pro*C,我想将此 ROWID 存储为字符数组 rrr 以备后用:
UPDATE MTB SET MARKS = 80 WHERE ROWID='<rrr>'
请帮助并指出 Pro*C 用法的适当文档,以将 ROWID 转换为字符串数组。
您可以使用 ROWIDTOCHAR and CHARTOROWID 函数:
SELECT ROWIDTOCHAR(ROWID), MARKS INTO :rrr, :marks FROM MTB WHERE EID='123';
然后
UPDATE MTB SET MARKS = 80 WHERE ROWID=CHARTOROWID(:rrr);
我想从 Oracle 数据库中检索 table 的 ROWID 并将其作为字符数组存储在内存中供以后使用。比如我运行下面的查询:
SELECT ROWID, MARKS FROM MTB WHERE EID='123';
然后使用 Pro*C,我想将此 ROWID 存储为字符数组 rrr 以备后用:
UPDATE MTB SET MARKS = 80 WHERE ROWID='<rrr>'
请帮助并指出 Pro*C 用法的适当文档,以将 ROWID 转换为字符串数组。
您可以使用 ROWIDTOCHAR and CHARTOROWID 函数:
SELECT ROWIDTOCHAR(ROWID), MARKS INTO :rrr, :marks FROM MTB WHERE EID='123';
然后
UPDATE MTB SET MARKS = 80 WHERE ROWID=CHARTOROWID(:rrr);