Las restricciones en una tabla en Oracle se pueden encontrar utilizando las siguientes vistas
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns
Podemos usar la vista según el acceso que tengamos en la base de datos Oracle. Ahora voy a explicar cómo verificar todas las restricciones en una tabla en Oracle usando los ejemplos
Cómo encontrar todas las restricciones en una tabla en Oracle
Primero creemos las tablas
SQL> CREATE TABLE "DEPT" ( "DEPTNO" NUMBER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO") ) ; Table created. SQL> CREATE TABLE "EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10) Not null, "JOB" VARCHAR2(9) not null, "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO"), CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "DEPT" ("DEPTNO") ENABLE ); Table created.
Ahora las restricciones se pueden encontrar utilizando las siguientes consultas de restricción de selección de Oracle
SQL> col CONSTRAINT_NAME format a20 SQL> col INDEX_NAME format a20 SQL> col CONSTRAINT_TYPE format a5 SQL> column SEARCH_CONDITION format a30 SQL>column R_CONSTRAINT_NAME format a20 select CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME from user_constraints where TABLE_NAME='EMP';

Aquí CONSTRAINT_TYPE define el tipo de restricciones
P significa clave principal de Oracle
C significa restricciones de verificación o restricciones no nulas
R significa restricciones de clave externa
U significa restricciones de clave única
Ahora las columnas de restricciones de clave principal, clave externa y clave única se pueden encontrar utilizando la siguiente consulta
SQL> column OWNER format a10 SQL> column CONSTRAINT_NAME format a120 SQL> column CONSTRAINT_NAME format a20 SQL> column COLUMN_NAME format a20 SQL> select OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION from User_cons_columns where TABLE_NAME='EMP';

Obtendremos valores nulos para la columna Posición si tenemos una sola columna en la restricción. Si hay varias columnas presentes en las restricciones, Position especificará el orden de la columna en la restricción
Se pueden usar consultas similares para seleccionar restricciones en la tabla DEPT
SQL> select CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME from user_constraints where TABLE_NAME='DEPT';

SQL> select OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION from User_cons_columns where TABLE_NAME='DEPT';

Cómo encontrar restricciones por nombre en Oracle
select CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME from user_constraints where CONSTRAINT_NAME='&1' or select owner, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME from all_constraints where CONSTRAINT_NAME='&1'
Cómo verificar las restricciones de integridad referencial en la tabla
SQL> select CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME from user_constraints where TABLE_NAME='EMP' and CONSTRAINT_TYPE='R' ;

La tabla principal a la que se hace referencia se puede encontrar usando R_CONSTRAINT_NAME
SQL> select CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,table_name from user_constraints where CONSTRAINT_NAME='PK_DEPT';

Cómo verificar la clave principal en la tabla
SQL> select CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE from user_constraints where TABLE_NAME='EMP' and CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP P
consulta para encontrar restricciones únicas en una tabla en Oracle
SQL> CREATE TABLE DEPT_MASTER ( dept_nr NUMBER UNIQUE, dept_name varchar2(100) NOT NULL, dept_status NUMBER(1,0) NOT NULL, created_at date ); Table created. SQL> select CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE from user_constraints where TABLE_NAME='DEPT_MASTER' and CONSTRAINT_TYPE='U';

Otras consultas sobre restricciones
select table_name from user_constraints where (r_constraint_name) in ( select constraint_name from user_constraints where table_name = 'T' and constraint_type in ( 'P', 'U' ) );
Por lo tanto, podemos encontrar fácilmente todas las restricciones en la tabla en Oracle usando las vistas del diccionario de datos. Luego podemos tomar cualquier acción como modificar, deshabilitar, soltar, que queramos asumir estas restricciones. Las restricciones imponen reglas de integridad de datos en la base de datos de Oracle y debemos tener cuidado al modificarlas o eliminarlas.
Espero que les guste este contenido sobre cómo verificar todas las restricciones en una tabla en una base de datos Oracle. Por favor proporcione comentarios para este artículo.
También lee
eliminar restricción en Oracle:podemos eliminar la restricción en Oracle usando el comando de modificación de tabla. podemos eliminar la clave principal, externa, verificar, no nula y la restricción única con el mismo comando
Función de fusión en Oracle:la función de fusión en Oracle devolverá la primera expresión si no es nula; de lo contrario, fusionará el resto de la expresión.
Registro Suplementario en Oracle:El Registro Suplementario en Oracle es la información de columna adicional requerida para reconstruir SQL para aplicar a cualquier otra base de datos
Consulta para encontrar dependencias de objetos en Oracle:Verifique Consulta para encontrar dependencias de objetos en oracle, dependencia de nivel secundario, dependencia de nivel principal, encontrar usando dbms_utility.get_dependency
JSON en la base de datos de Oracle:consulte esta publicación sobre cómo usar JSON en oracle, cómo crear una tabla que contenga datos JSON, cómo para extraer, inserte los datos JSON en Oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm
Cursos recomendados
Aquí está el buen curso de Udemy para Oracle SQL
Oracle-Sql-Step-by-step:este curso cubre sql básico, uniones, creación de tablas y modificación de su estructura, creación de vistas, unión, unión, todo y mucho más. . Un gran curso y un curso imprescindible para principiantes de SQL
El curso completo de certificación de Oracle SQL :Este es un buen curso para cualquier persona que quiera estar preparado para trabajar con habilidades de desarrollador de SQL. Un buen curso explicado
Oracle SQL Developer:fundamentos, consejos y trucos :muchos desarrolladores utilizan la herramienta de desarrollo Oracle Sql. Este curso nos brinda trucos y lecciones sobre cómo usarlo de manera efectiva y convertirnos en un desarrollador sql productivo
Oracle SQL Performance Tuning Masterclass 2020 :El ajuste del rendimiento es una de las habilidades críticas y más buscadas. Este es un buen curso para aprender sobre esto y comenzar a realizar ajustes de rendimiento de sql