Buen día a todos, quiero saber si hay una tabla que indique el nombre de la tabla, la columna y su constraint. en base de datos ORACLE
por ejemplo
all_tab_columns --> me da todas las columnas de las tablas.
all_constraints --> me da los constraint pero no indica en que columna.
gracias
Hola me encontré este ejemplo:
create table libros(
codigo number(5),
titulo varchar2(40),
autor varchar2(30),
editorial varchar2(15),
preciomin number(5,2),
preciomay number(5,2)
);
alter table libros
add constraint PK_libros_codigo primary key (codigo);
alter table libros
add constraint UQ_libros unique (titulo,codigo,editorial);
alter table libros
add constraint CK_libros_precios_positivo check (preciomin>=0 and preciomay>=0);
alter table libros
add constraint CK_libros_preciominmay check (preciomay<=preciomin);
// Veamos las restricciones de la tabla:
select *from user_constraints where table_name='LIBROS';
// Aparece la siguiente tabla (simplificada) resultado:
OWNER CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME SEARCH_CONDITION
--------------------------------------------------------------------------------------------------
SYSTEM PK_LIBROS_CODIGO P LIBROS
SYSTEM UQ_LIBROS U LIBROS
SYSTEM CK_LIBROS_PRECIOS_POSITIVO C LIBROS preciomin>=0 and preciomay>=0
SYSTEM CK_LIBROS_PRECIOMINMAY C LIBROS preciomay<=preciomin
Fuente:
http://www.tutorialesprogramacionya.com/oracleya/simulador/simulador.php?cod=201&punto=40&inicio=
Fuentes.
Artículo: "Bases de Datos - Consultar constraint de tablas en oracle" Publicado en https://www.lawebdelprogramador.com/ por Victor. Consultado el 06/11/2022.
No hay comentarios:
Publicar un comentario