Share via


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Retorna uma fila para cada restrição FOREIGN KEY no banco de dados atual. Esta exibição de esquema de informações retorna informações sobre os objetos para os quais o usuário atual tem permissões.

Para recuperar informações dessas exibições, especifique o nome totalmente qualificado do INFORMATION_SCHEMAview_name.

Nome da coluna

Tipo de dados

Descrição

CONSTRAINT_CATALOG

nvarchar(128)

Qualificador da restrição.

CONSTRAINT_SCHEMA

nvarchar(128)

Nome do esquema que contém a restrição.

Observação importanteImportante

Não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. O único modo confiável de localizar o esquema de um objeto é consultar a exibição do catálogo sys.objects.

CONSTRAINT_NAME

sysname

Nome da restrição.

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

Qualificador de restrição UNIQUE.

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

Nome do esquema que contém a restrição UNIQUE.

Observação importanteImportante

Não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. O único modo confiável de localizar o esquema de um objeto é consultar a exibição do catálogo sys.objects.

UNIQUE_CONSTRAINT_NAME

sysname

Restrição UNIQUE.

MATCH_OPTION

varchar(7)

Condições de correspondência de restrição referenciais. Sempre retorna SIMPLE. Isso significa que nenhuma correspondência está definida. A condição é considerada uma correspondência quando uma das seguintes condições for verdadeira:

  • Pelo menos um valor na coluna de chave estrangeira é NULL.

  • Todos os valores na coluna de chave estrangeira não são NULL e há uma linha na tabela de chave primária que tem a mesma chave.

UPDATE_RULE

varchar(11)

Ação tomada quando uma instrução Transact-SQL viola a integridade referencial definida por esta restrição.

Retorna uma destas opções:

  • NO ACTION

  • CASCADE

  • SET NULL

  • SET DEFAULT

Se NO ACTION for especificado em ON UPDATE para esta restrição, a atualização da chave primária referenciada na restrição não será propagada para a chave estrangeira. Se essa atualização de uma chave primária causar uma violação de integridade referencial porque pelo menos uma chave estrangeira contém o mesmo valor, SQL Server não fará nenhuma alteração nas tabelas pai e de referência. SQL Server também gerará um erro.

Se CASCADE for especificado em ON UPDATE para esta restrição, qualquer mudança para o valor de chave primária será propagado automaticamente para o valor da chave estrangeira.

DELETE_RULE

varchar(11)

A ação tomada quando uma instrução Transact-SQL viola a integridade referencial definida por esta restrição.

Retorna uma destas opções:

  • NO ACTION

  • CASCADE

  • SET NULL

  • SET DEFAULT

Se NO ACTION for especificado em ON DELETE para essa restrição, a exclusão da chave primária referenciada na restrição não será propagada para a chave estrangeira. Se essa exclusão de uma chave primária causar uma violação de integridade referencial porque pelo menos uma chave estrangeira contém o mesmo valor, SQL Server não fará nenhuma alteração nas tabelas pai e de referência. SQL Server também gerará um erro.

Se CASCADE for especificado em ON DELETE para esta restrição, qualquer mudança para o valor de chave primária será propagado automaticamente para o valor da chave estrangeira.

Consulte também

Referência

exibições do sistema (Transact-SQL)

exibições do esquema de informações (Transact-SQL)

sys.indexes (Transact-SQL)

sys.objects (Transact-SQL)

sys.foreign_keys (Transact-SQL)