本文介绍了存储Oracle数据库表的ROWID作为一个字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想检索Oracle数据库表和存储的ROWID在内存中的字符数组供以后使用。例如,我运行以下查询:

I would like to retrieve ROWID of a table from Oracle DB and store in memory as a character array for later use. For example, I run the following query:

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

然后使用Pro * C,我想存储这个ROWID作为一个字符数组存款准备金率以后使用

为:

Then using Pro*C, I would like to store this ROWID as a character array rrr to use later as:

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

请帮忙,并指向PRO * C的使用适当的文件到ROWID转换为字符串数组。

Please help and point to appropriate documentation of Pro*C usage to convert a ROWID to an array of character strings.

推荐答案

您可以使用的和 CHARTOROWID 功能:

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

然后

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

这篇关于存储Oracle数据库表的ROWID作为一个字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!