Consulta de tablas que apuntan a una Servicio web con tipos complejos en ADF
Jul 26

Uniendo el script que obtiene las tablas que apuntan a una con la utilidad del todopoderoso paquete DMBS_METADATA me he hecho otro script que me obtiene el ddl de las claves foráneas que apuntan a una tabla determinada. No sé si me volverá a hacer falta algún día pero por si acaso o por si a alguien más le interesa, aquí está el script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- Script para obtener el ddl de la lista de claves foráneas que
-- referencian a una tabla
-- http://www.tsoracle.com
---------------
-- Sets varios
--------------
SET VERIFY OFF
SET LONG 5000
------------
-- Parámetros
------------
ACCEPT propi PROMPT "Propietario (enter para usuario conectado): "
ACCEPT tabla PROMPT "Nombre de la tabla: "
BREAK ON TABLE_NAME
COLUMN DEFI FORMAT A120
------------
-- Select
------------
PROMPT Tablas que referencian a &;&;tabla
SELECT DBMS_METADATA.get_DDL( 'REF_CONSTRAINT', 
                              r.CONSTRAINT_NAME, 
                              r.OWNER ) 
       DEFI
FROM   ALL_CONSTRAINTS T, ALL_CONSTRAINTS R
WHERE  T.OWNER      = NVL( UPPER( '&&propi' ), USER )
  AND  T.TABLE_NAME = UPPER( '&&tabla' )
  AND  T.CONSTRAINT_TYPE IN ( 'P', 'U' ) -- Que sean pk o uk
  AND  R.R_OWNER           = T.OWNER
  AND  R.R_CONSTRAINT_NAME = T.CONSTRAINT_NAME
  AND  R.CONSTRAINT_TYPE   = 'R'         -- Que sea una fk
ORDER BY R.TABLE_NAME, R.CONSTRAINT_NAME
/
---------------------
-- Restauro el verify
---------------------
SET VERIFY ON

Sé que se nota que estoy flipao con el dbms_metadata pero es que no puedo creer que haya podido vivir tanto tiempo sin él. La de ríos de código que me podría haber ahorrado.

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 3.0 License.

Comments are closed.