我想从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转换为字符串数组。

最佳答案

您可以使用ROWIDTOCHARCHARTOROWID函数:

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

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

关于c++ - 将Oracle DB表的ROWID存储为字符数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35202485/

10-13 03:26