Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como encontrar o nome de uma restrição no Oracle

Problema:


Você deseja localizar os nomes das restrições em uma tabela no Oracle.

Exemplo:


Queremos exibir os nomes das restrições na tabela student .

Solução:

select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from USER_CONSTRAINTS
where TABLE_NAME='STUDENT';

Aqui está o resultado:
CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME
SYS_C007376 R ESTUDANTE
SYS_C007374 P ESTUDANTE
SYS_C007375 U ESTUDANTE
SYS_C007372 C ESTUDANTE

Discussão:


No Oracle, use a visualização user_constraints para exibir os nomes das restrições no banco de dados. A coluna constraint_name contém o nome da restrição, constraint_type indica o tipo de restrição e table_name contém o nome da tabela à qual a restrição pertence. Na coluna constraint_type, o valor “R” é para a chave estrangeira, “P” é para a chave primária, “U” é para a restrição de exclusividade e “C” é para a verificação de restrição. Em nosso exemplo, há uma restrição na tabela student do tipo P (chave primária) cujo nome é SYS_C007374 .