PL SQL Constraints

To find the constraints in a table

ALL_CONSTRAINTS: Provides information about all constraints accessible to the user, across all tables in the database. It includes constraint types, status, and more, but doesn’t show column-specific details.

SELECT * FROM ALL_CONSTRAINTS 
WHERE TABLE_NAME='YOUR_TABLE_NAME' 
AND OWNER = 'OWNER_NAME';

To find the constarints referring to a table.

SELECT * FROM ALL_CONSTRAINTS 
WHERE R_CONSTRAINT_NAME IN ( 
    SELECT CONSTRAINT_NAME FROM ALL_CONSTRAINTS 
    WHERE TABLE_NAME='YOUR_TABLE_NAME' 
    )
AND OWNER = 'OWNER_NAME';

USER_CONS_COLUMNS: Shows details about columns associated with constraints for tables owned by the current user. It’s useful for checking specific columns involved in constraints like primary keys, foreign keys, or unique constraints.

SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, POSITION
FROM USER_CONS_COLUMNS
WHERE TABLE_NAME = 'YOUR_TABLE_NAME';

Read More