Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle ROWID като параметър на функция/процедура

От ръководство за концепции :

Основният недостатък на ROWID е, че въпреки че обикновено е стабилен, той може да се промени при определени обстоятелства:

  • Таблицата е възстановена (ALTER TABLE MOVE ...)
  • Очевидно експортиране/импортиране
  • Таблица с дялове с разрешено движение на редове

Първичен ключ идентифицира ред логически , винаги ще намерите правилния ред, дори след изтриване+вмъкване. ROWID идентифицира реда физически и не е толкова устойчив като първичен ключ.

Можете безопасно да използвате ROWID в един SQL израз, тъй като Oracle ще гарантира, че резултатът е съгласуван, например за премахване на дубликати в таблица. За по-сигурно ви предлагам да използвате само ROWID accross изявленията когато имате заключване на реда (ИЗБЕРЕТЕ ... ЗА АКТУАЛИЗИРАНЕ).

От гледна точка на производителността достъпът до първичния ключ е малко по-скъп, но обикновено ще забележите това само ако правите много достъп до един ред. Ако обаче производителността е критична, обикновено можете да получите по-голяма полза в този случай от използването на обработка на набор, отколкото обработка на един ред с rowid. По-специално, ако има много двупосочни транзакции между DB и приложението, цената на достъпа до реда вероятно ще бъде незначителна в сравнение с цената на двупосочните маршрути.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Валидиране на дата в Oracle без използване на функция

  2. Filehelpers Excel към Oracle db

  3. Генерирайте име на месец, име на ден, номер на седмица и номер на ден между две дати

  4. Създайте Java на Oracle база данни с JDBC

  5. Процедура за проверка за недублирани редове в таблицата преди вмъкване (Oracle)