将Oracle DB表的ROWID存储为字符数组

时间:2016-02-04 13:36:17

标签: c++ arrays oracle embedded-sql

我想从Oracle DB中检索表的ROWID,并将其作为字符数组存储在内存中供以后使用。例如,我运行以下查询:

SELECT ROWID, MARKS FROM MTB WHERE EID='123';

然后使用Pro * C,我想将此ROWID存储为字符数组rrr,以便稍后使用:

UPDATE MTB SET MARKS = 80 WHERE ROWID='<rrr>'

请帮助并指出Pro * C用法的相应文档,以将ROWID转换为字符串数组。

1 个答案:

答案 0 :(得分:2)

您可以使用ROWIDTOCHARCHARTOROWID功能:

SELECT ROWIDTOCHAR(ROWID), MARKS INTO :rrr, :marks FROM MTB WHERE EID='123';

然后

UPDATE MTB SET MARKS = 80 WHERE ROWID=CHARTOROWID(:rrr);