Condividi tramite


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Contiene una riga per ogni vincolo FOREIGN KEY del database corrente. Questa vista dello schema restituisce informazioni sugli oggetti per i quali l'utente corrente dispone di autorizzazioni.

Per recuperare informazioni da queste viste, specificare il nome completo **INFORMATION_SCHEMA.**view_name.

ms179987.note(it-it,SQL.90).gifImportante:
Questa funzionalità è stata modificata rispetto alle versioni precedenti di SQL Server. Per ulteriori informazioni, vedere Differenze di funzionamento delle funzionalità del Motore di database in SQL Server 2005.
Nome colonna Tipo di dati Descrizione

CONSTRAINT_CATALOG

nvarchar(128)

Qualificatore del vincolo.

CONSTRAINT_SCHEMA

nvarchar(128)

Nome dello schema che contiene il vincolo.

CONSTRAINT_NAME

sysname

Nome del vincolo.

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

Qualificatore del vincolo UNIQUE.

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

Nome dello schema che contiene il vincolo UNIQUE.

UNIQUE_CONSTRAINT_NAME

sysname

Vincolo UNIQUE.

MATCH_OPTION

varchar(7)

Condizioni referenziali di corrispondenza con il vincolo. Restituisce sempre SIMPLE, a indicare che non è definita alcuna corrispondenza. La condizione viene considerata una corrispondenza se si verifica una delle situazioni seguenti:

  • Almeno un valore della colonna della chiave esterna è NULL.
  • Tutti i valori della colonna della chiave esterna sono diversi da NULL e una riga della tabella della chiave primaria include la stessa chiave.

UPDATE_RULE

varchar(11)

Azione eseguita se un'istruzione Transact-SQL viola l'integrità referenziale definita dal vincolo.

Restituisce una delle operazioni seguenti:

  • NO ACTION
  • CASCADE
  • SET NULL
  • SET DEFAULT

Se nell'opzione ON UPDATE si specifica NO ACTION per il vincolo, l'aggiornamento della chiave primaria a cui viene fatto riferimento nel vincolo non viene propagato alla chiave esterna. Se l'aggiornamento di una chiave primaria comporta una violazione dell'integrità referenziale perché almeno una chiave esterna contiene lo stesso valore, SQL Server non modifica le tabelle padre e di riferimento. SQL Server genererà inoltre un errore.

Se nell'opzione ON UPDATE si specifica CASCADE per il vincolo, tutte le modifiche apportate al valore della chiave primaria vengono propagate automaticamente al valore della chiave esterna.

DELETE_RULE

varchar(11)

Azione eseguita se un'istruzione Transact-SQL viola l'integrità referenziale definita dal vincolo.

Restituisce una delle operazioni seguenti:

  • NO ACTION
  • CASCADE
  • SET NULL
  • SET DEFAULT

Se in ON DELETE si specifica NO ACTION per il vincolo, l'eliminazione nella chiave primaria a cui viene fatto riferimento nel vincolo non viene propagata alla chiave esterna. Se l'eliminazione di una chiave primaria comporta una violazione dell'integrità referenziale perché almeno una chiave esterna contiene lo stesso valore, SQL Server non modifica le tabelle padre e di riferimento. SQL Server genererà inoltre un errore.

Se nell'opzione ON DELETE si specifica CASCADE per il vincolo, tutte le modifiche apportate al valore della chiave primaria vengono propagate automaticamente al valore della chiave esterna.

Vedere anche

Riferimento

Viste di sistema (Transact-SQL)
Viste degli schemi delle informazioni (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)

Altre risorse

Esecuzione di query nel catalogo di sistema di SQL Server

Guida in linea e informazioni

Assistenza su SQL Server 2005