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

Коя таблица на Oracle използва последователност?

Проблемът е, че Oracle ни позволява да използваме една последователност за попълване на колони в няколко таблици. Сценариите, при които това може да е желателно, включват реализации на супер-тип/подтип.

Можете да използвате зависимостите в речника на данните, за да идентифицирате връзки. Например, ако използвате тригери за присвояване на стойностите, тогава тази заявка ще ви помогне:

select ut.table_name
       , ud.referenced_name as sequence_name
from   user_dependencies ud
       join user_triggers ut on (ut.trigger_name = ud.name)
where ud.type='TRIGGER' 
and ud.referenced_type='SEQUENCE'
/

Ако използвате PL/SQL, можете да напишете нещо подобно за TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION') , въпреки че все пак ще ви е необходимо известно търсене в изходния код, за да присвоите таблици и последователности, когато имате множество посещения.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. актуализиране чрез for цикъл в plsql

  2. Проектиране на база данни и моделиране на специфични връзки

  3. Стандартна SQL алтернатива на Oracle DECODE

  4. Съхранена процедура на Oracle Random Number Generator без използване на DBMS_RANDOM

  5. CASE WHEN в клаузата WHERE е неуспешна с грешка, липсваща ключова дума