Я пытаюсь создать случайный ROWID для целей тестирования. Я знаю, что это не путь, но, поскольку у меня нет данных (пока), мне просто нужно гарантировать, что при вставке «значения» ROWID (с использованием функции ROWIDTOCHAR
) у меня есть всякая строка каждый раз.Генерировать случайный ROWID
Я читал DBMS_ROWID из документации Oracle, и я нашел способ генерации ROWID для тестирования с использованием функции ROWID_CREATE
.
DBMS_ROWID.ROWID_CREATE (
rowid_type IN NUMBER,
object_number IN NUMBER,
relative_fno IN NUMBER,
block_number IN NUMBER,
row_number IN NUMBER)
RETURN ROWID;
Мой вопрос: есть ли способ создать случайный ROWID с помощью этой функции? (Как случайной функции для генерации параметров в)
В соответствии с тем, что я прочитал в DBMS_RANDOM странице
- DBMS_RANDOM.RANDOM производит целые числа в [-2 ^^ 31, 2 ^^ 31).
- DBMS_RANDOM.VALUE производит номера в [0,1) с 38 цифрами точности.
И я не уверен, если сгенерированные значения всегда действительны быть в параметрах и генерировать ROWID. Мне просто нужен действительный ROWID, поэтому я могу использовать функцию ROWIDTOCHAR
.
Вы не можете создать «случайный ROWID» - ROWID - это физическое местоположение ** строки внутри табличного пространства. Что вы планируете делать со случайным местоположением, которое, вероятно, даже не указывает на допустимую строку? Или, может быть, в строку из другой таблицы? В чем именно заключается основная проблема, которую вы пытаетесь решить? –
Не было бы проще получить реальный ROWID случайной строки из реальной таблицы (например, SYS.OBJ $, если у вас нет собственных данных все же)? (Сохранение ROWID кажется странным в любом случае; [но обычно безопасно] (https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:122614800346142639)) –
У меня есть Тип и один из его атрибутов - rowid. Это значение rowid будет вставлено в таблицу. Мне просто нужно случайное значение ROWID, чтобы он мог «передать» функцию «ROWIDTOCHAR». Спасибо Алекс. Я попробую сделать это, сделаю это awnser, чтобы я мог его принять. Я знаю, что это странно, но я не тот, кто проектирует архитектуру: x – SaintLike