Ir al contenido
Manual Crono SQL

crono.constraints

La vista crono.constraints devuelve información sobre las restricciones definidas en todas las tablas de la base de datos. Incluye claves primarias (PRIMARY KEY), claves externas (FOREIGN KEY), restricciones de unicidad (UNIQUE) y restricciones de comprobación (CHECK).

Es similar a la vista ANSI INFORMATION_SCHEMA.TABLE_CONSTRAINTS, pero la vista de Crono está enriquecida con información adicional: añade indicadores booleanos por tipo de restricción y, en el caso de las claves externas, incluye información sobre la restricción única referenciada (unique_constraint_name, unique_constraint_type, referenced_database_name, referenced_schema_name, referenced_table_name).

Sus columnas son las siguientes:

ColumnaDescripción
database_nameNombre de la base de datos
schema_nameNombre del esquema al que pertenece la tabla
table_nameNombre de la tabla
constraint_nameNombre de la restricción
constraint_typeTipo de restricción (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK)
is_primary_keytrue si la restricción es una clave primaria; false en caso contrario
is_foreign_keytrue si la restricción es una clave externa; false en caso contrario
is_uniquetrue si la restricción es un índice único; false en caso contrario
is_checktrue si la restricción es una restricción CHECK; false en caso contrario
unique_constraint_nameNombre de la restricción única referenciada (solo para claves externas)
unique_constraint_typeTipo de la restricción única referenciada
referenced_database_nameBase de datos de la tabla referenciada
referenced_schema_nameEsquema de la tabla referenciada
referenced_table_nameTabla referenciada

El siguiente ejemplo devuelve todas las restricciones de la base de datos:

select *
from crono.constraints

El siguiente ejemplo identifica las tablas que no tienen ninguna clave primaria definida:

select
t.schema_name,
t.table_name
from crono.tables filter (is_table = TRUE) t
anti join crono.constraints filter (is_primary_key = TRUE) c using (schema_name, table_name)

crono.constraint_columns permite identificar las columnas que participan en cada restricción.

¿Fue útil esta página?

Estamos para ayudar. Si tienes cualquier problema o duda, abre un issue en GitHub y te respondemos lo antes posible.

Abrir un issue en GitHub