Partilhar via


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

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_SCHEMA.view_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.

Importante: não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. Exibições INFORMATION_SCHEMA representam apenas um subconjunto dos metadados 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.

Importante: não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. Exibições INFORMATION_SCHEMA representam apenas um subconjunto dos metadados 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 executada quando uma instrução Transact-SQL viola a integridade referencial definida por essa restrição. Retorna um dos seguintes:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Se NO ACTION for especificado em ON UPDATE para essa 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, o SQL Server não fará nenhuma alteração nas tabelas pai e de referência. O 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ção executada quando uma instrução Transact-SQL viola a integridade referencial definida por essa restrição. Retorna um dos seguintes:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Se NO ACTION for especificado em ON DELETE para essa restrição, a exclusão na 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, o SQL Server não fará nenhuma alteração nas tabelas pai e de referência. O 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.

Confira também

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)