Re: table referenced by
Date: Mon, 30 Apr 2012 12:18:13 +0200
Message-ID: <4F9E66E5.6070504_at_sferacarta.com>
I'm trying to get the foreign key definition , but I don't know how. to..
I'm able to do this in postgres in this way:
SELECT
conrelid::pg_catalog.regclass AS referenced_by, conname AS foreignkey_name pg_catalog.pg_get_constraintdef(c.oid, true) as definition FROM pg_catalog.pg_constraint c WHERE c.contype = 'f' AND c.confrelid = ( SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = 'anagrafica' AND pg_catalog.pg_table_is_visible(c.oid) ) referenced_by | foreignkey_name | definition --------------+------------------------------------------------------------------------------------ asl | asl_id_anagrafica_fkey | FOREIGN KEY (id_anagrafica) REFERENCES anagrafica(id) azienda | azienda_id_anagrafica_fkey | FOREIGN KEY(id_anagrafica) REFERENCES anagrafica(id)
j
David Fitzjarrell wrote:
> Why go through all of that work when this produces a similar report:
>
> SQL> select p.table_name parent_table, r.table_name ref_table, r.constraint_name
> 2 from dba_constraints p join dba_constraints r on p.constraint_name = r.r_constraint_name
> 3 where p.table_name = 'WWV_MIG_PROJECTS'
> 4 /
> PARENT_TABLE REF_TABLE CONSTRAINT_NAME
> ------------------------------ ------------------------------ ------------------------------
> WWV_MIG_PROJECTS WWV_MIG_ACCESS WWV_MIG_ACC_FK
> WWV_MIG_PROJECTS WWV_MIG_GENERATED_APPLICATIONS WWV_MIG_GEN_APP_PROJ_ID_FK
> WWV_MIG_PROJECTS WWV_MIG_PROJECT_COMPONENTS WWV_MIG_PROJ_COMP_FK
> WWV_MIG_PROJECTS WWV_MIG_PROJECT_TRIGGERS WWV_MIG_PROJ_TRIG_FK
> WWV_MIG_PROJECTS WWV_MIG_FORMS WWV_MIG_FORMS_PROJECT_ID_FK
> WWV_MIG_PROJECTS WWV_MIG_PLSQL_LIBS WWV_MIG_PLLS_PROJECT_ID_FK
> WWV_MIG_PROJECTS WWV_MIG_FRM_REV_APEX_APP WWV_MIG_FRM_REV_APEX_APP_FK
> WWV_MIG_PROJECTS WWV_MIG_RPTS WWV_MIG_RPTS_PROJECT_ID_FK
> WWV_MIG_PROJECTS WWV_MIG_FRM_MENUS WWV_MIG_MENUS_PROJECT_ID_FK
> WWV_MIG_PROJECTS WWV_MIG_OLB WWV_MIG_OLB_PROJECT_ID_FK
> 10 rows selected.
> Substitute your table name for the one in the example query.
>
> David Fitzjarrell
>
>
>
> ________________________________
> From: jo <jose.soares_at_sferacarta.com>
> To: ORACLE-L <oracle-l_at_freelists.org>
> Sent: Saturday, April 28, 2012 1:04 PM
> Subject: table referenced by
>
> Hi all,
>
> I'm trying to create a query to know which tables are linked with table
> 'anagrafica'
> in PostgreSQL I can achieve it with this query:
>
>
> SELECT 'anagrafica' AS table,
> conrelid::pg_catalog.regclass AS referenced_by,
> conname AS foreignkey_name
> FROM pg_catalog.pg_constraint c
> WHERE c.contype = 'f'
> AND c.confrelid = (
> SELECT c.oid FROM pg_catalog.pg_class c
> LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
> WHERE c.relname = 'anagrafica' AND
> pg_catalog.pg_table_is_visible(c.oid)
> )
>
>
>
>
> table | referenced_by | foreignkey_name
> ------------+--------------------------+----------------------------------------------------
> anagrafica | asl | asl_id_anagrafica_fkey
> anagrafica | azienda | azienda_id_anagrafica_fkey
>
>
> Is it possible to do do the same thing in Oracle?
>
> j
>
> --
> http://www.freelists.org/webpage/oracle-l
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Mon Apr 30 2012 - 05:18:13 CDT