Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Która tabela Oracle używa sekwencji?

Problem polega na tym, że Oracle pozwala nam na użycie jednej sekwencji do wypełnienia kolumn w kilku tabelach. Scenariusze, w których może to być pożądane, obejmują implementacje nadtypów/podtypów.

Zależności ze słownika danych można używać do identyfikowania relacji. Na przykład, jeśli używasz wyzwalaczy do przypisywania wartości, to zapytanie pomoże ci:

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'
/

Jeśli używasz PL/SQL, możesz napisać coś podobnego dla TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION') , chociaż nadal będziesz potrzebować trochę przeszukania kodu źródłowego, aby przypisać tabele i sekwencje, gdy masz wiele trafień.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja NLS_LOWER() w Oracle

  2. Łączenie Oracle za pomocą ODP.NET z Enterprise Library DAAB

  3. Zapytanie krzyżowe Oracle SQL

  4. konwersja oracle do_daty pokazująca literał nie pasuje do formatu ciągu

  5. ORA-04021:przekroczono limit czasu podczas oczekiwania na zablokowanie obiektu