В соответствии с моим дизайном я хочу извлечь rowid как в
select rowid r from table_name;
в переменную C.Мне было интересно, каков максимальный размер / длина в символах rowid.
В настоящее время в одной из самых больших таблиц в моей БД мы имеем максимальную длину 18 и ее 18 по всей таблице для rowid.
Заранее спасибо.
Редактирование: В настоящее время приведенный ниже блок кода повторяется и используется для нескольких таблиц, следовательно, для того, чтобы сделать код гибким без необходимости определения PK каждой таблицы в запросе.мы используем ROWID.
select rowid from table_name ... where ....;
delete from table_name where rowid = selectedrowid;
Я думаю, поскольку rowid выбирается и используется время от времени без сохранения его на будущее, его можно использовать в этом конкретном сценарии.
Пожалуйста, обратитесь кответ ниже: Безопасно ли использовать ROWID для поиска строки / записи в Oracle?
Я бы сказал, нет.Это может быть безопасно, если, например, приложение временно сохраняет ROWID (скажем, генерирует список элементов с возможностью выбора, каждый из которых идентифицируется с помощью ROWID, но список регулярно обновляется и не сохраняется).Но если ROWID используется каким-либо постоянным способом, это небезопасно.