Identificare le Sequence associate ad una Tabella


select table_name, col.sequence_name, column_name, last_number
from dba_tab_identity_cols col , dba_sequences seq
where col.owner =seq.sequence_owner
and col.sequence_name = seq.sequence_name
and col.owner = <owner>
and col.table_name  in (.......');

Ulteriore conferma del nome della sequence

select 'ISEQ$$_'||object_id
    from dba_objects
    where object_type = 'TABLE'
    and object_name in ('DEVICE','GEO_CAMERA_USER','SIGNING_DEEDS_ACTIVATION');




La seguente query individua le sequence associate alle tabelle sfruttando la relazione seguenti:
1) dalla join tra le tabelle "dba_tables" e "dba_trigger" risalgo ai trigger associati alle tabelle
2) dalla join tra le"dba_trigger" e "dba_dependencies" risalgo agli oggetti referenziati dai trigger
3) dalla join tra le "dba_dependencies"e "dba_sequences" risalgo alle sequence usate nei trigger e quindi che sono associate alle tabelle.

select tabs.table_name,  trigs.trigger_name,   seqs.sequence_name
from dba_tables tabs , dba_triggers trigs ,  dba_dependencies deps,  dba_sequences seqs
where trigs.table_owner = tabs.owner
and trigs.table_name = tabs.table_name
and deps.owner = trigs.owner
and deps.name = trigs.trigger_name
and seqs.sequence_owner = deps.referenced_owner
and seqs.sequence_name = deps.referenced_name
and tabs.owner = '<nome_schema>'
and tabs.table_name  in (....);

Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Funzione TO_DATE

CREATE DATABASE LINK