Jul 25
Este es un script para obtener un listado con las claves foráneas que apuntan a la tabla que le pasan como parámetro. Es útil si tenemos la buena costumbre de nombrar las claves con algún sufijo o prefijo que nos indiquen el tipo. Si no, sería necesario agregar más columnas a la select. También podría interesar agregar una columna con el nombre del propietario de la clave foránea.
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 | -- Script para obtener la lista de claves foráneas que -- referencian a una tabla -- http://www.tsoracle.com --------------- -- Sets varios -------------- SET VERIFY OFF ------------ -- Parámetros ------------ ACCEPT propi PROMPT "Propietario (enter para usuario conectado): " ACCEPT tabla PROMPT "Nombre de la tabla: " BREAK ON TABLE_NAME ------------ -- Select ------------ PROMPT Tablas que referencian a &&tabla SELECT R.TABLE_NAME, R.CONSTRAINT_NAME, T.CONSTRAINT_NAME AS CLAVE_REFERENCIADA FROM ALL_CONSTRAINTS T, ALL_CONSTRAINTS R WHERE T.OWNER = NVL( UPPER( '&&propi' ), USER ) -- El valor por defecto es el usuario conectado 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 |
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 3.0 License.