Хранение ROWID таблицы БД Oracle в виде символьного массива

Я хотел бы получить ROWID таблицы из БД Oracle и сохранить в памяти как массив символов для последующего использования. Например, я запускаю следующий запрос:

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

Затем, используя Pro * C, я хотел бы сохранить этот ROWID в виде массива символов rrr для использования в дальнейшем как:

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

Пожалуйста, помогите и укажите соответствующую документацию по использованию Pro * C для преобразования ROWID в массив строк символов.

1

Решение

Вы можете использовать ROWIDTOCHAR а также CHARTOROWID функции:

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

А потом

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]