Что может заставить ROWID Oracle изменяться?

Почему бы не использовать pathinfo (PHP >= 4.0.3), то есть:

$ext = pathinfo($_FILES["rfile"]["name"])['extension'];

Live PHP demo

http: //ideone.com/eMpbnL

14
задан JosephStyons 12 January 2009 в 14:26
поделиться

3 ответа

Как Вы сказали, это происходит каждый раз, когда строка физически перемещена в диск, такой как:

  • Экспорт/импорт таблицы
  • ALTER TABLE XXXX ПЕРЕМЕЩЕНИЙ
  • ALTER TABLE XXXX ПРОСТРАНСТВ УМЕНЬШЕНИЯ
  • ТАБЛИЦА XXXX
  • РЕТРОСПЕКТИВНОГО КАДРА, Разделяющая раздел
  • , Обновление значения так, чтобы это переместилось в новый раздел
  • Объединение двух разделов

, Если находится в индексе, организовало таблицу, то обновление первичного ключа даст Вам другой ROWID также.

31
ответ дан 1 December 2019 в 06:28
поделиться

+1 @WW

Как в стороне:

ROWID для организованных таблиц индекса отличаются (их называют UROWID, я верю), потому что физическое местоположение строки может измениться во время обновлений таблицы (когда к древовидному разделению узлов или присоединяются).

для создания индексации все еще возможной, UROWID включает "логический идентификатор" (первичный ключ) и "вероятный физический идентификатор" (регулярный ROWID), последний которого может истечь.

8
ответ дан 1 December 2019 в 06:28
поделиться

Еще +1 к WW, но только добавить немного дополнительное...

, Если ведущий вопрос состоит в том, можно ли сохранить ROWIDs для более позднего использования, я сказал бы, "не делают этого".

Вы в порядке для использования ROWIDs в рамках транзакции - например, собирающийся ряд ROWIDs, на котором можно выполнить последующие операции - но Вы должны никогда , хранят ROWIDs в таблице и предполагают, что они собираются быть хорошо для использования позднее.

8
ответ дан 1 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: