REFERENTIAL_CONSTRAINTS (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Contiene una riga per ogni vincolo FOREIGN KEY del database corrente. Questa vista degli schemi delle informazioni restituisce informazioni sugli oggetti per i quali l'utente dispone di autorizzazioni.
Per recuperare informazioni da queste visualizzazioni, specificare il nome completo di INFORMATION_SCHEMA.view_name.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
CONSTRAINT_CATALOG | nvarchar(128) | Qualificatore del vincolo. |
CONSTRAINT_SCHEMA | nvarchar(128) | Nome dello schema che contiene il vincolo. Importante: non usare INFORMATION_SCHEMA viste per determinare lo schema di un oggetto. INFORMATION_SCHEMA viste rappresentano solo un subset dei metadati di un oggetto. L'unico modo affidabile per trovare lo schema di un oggetto consiste nell'eseguire query sulla vista del sys.objects catalogo. |
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. Importante: non usare INFORMATION_SCHEMA viste per determinare lo schema di un oggetto. INFORMATION_SCHEMA viste rappresentano solo un subset dei metadati di un oggetto. L'unico modo affidabile per trovare lo schema di un oggetto consiste nell'eseguire query sulla vista del sys.objects catalogo. |
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 chiave esterna è NULL. Tutti i valori della colonna chiave esterna sono diversi da NULL e una riga della tabella della chiave primaria include la stessa chiave. |
UPDATE_RULE | varchar(11) | Azione eseguita quando un'istruzione Transact-SQL viola l'integrità referenziale definita da questo vincolo. Restituisce uno dei valori seguenti: NO ACTION CASCADE SET NULL SET DEFAULT Se NO ACTION viene specificato su ON UPDATE per questo vincolo, l'aggiornamento della chiave primaria a cui viene fatto riferimento nel vincolo non verrà propagato alla chiave esterna. Se tale aggiornamento di una chiave primaria causerà una violazione dell'integrità referenziale perché almeno una chiave esterna contiene lo stesso valore, SQL Server non apporta alcuna modifica alle tabelle padre e di riferimento. SQL Server genererà anche 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 quando un'istruzione Transact-SQL viola l'integrità referenziale definita da questo vincolo. Restituisce uno dei valori seguenti: NO ACTION CASCADE SET NULL SET DEFAULT Se NO ACTION viene specificato su ON DELETE per questo vincolo, l'eliminazione sulla chiave primaria a cui viene fatto riferimento nel vincolo non verrà propagata alla chiave esterna. Se tale eliminazione di una chiave primaria causerà una violazione dell'integrità referenziale perché almeno una chiave esterna contiene lo stesso valore, SQL Server non apporta alcuna modifica alle tabelle padre e di riferimento. SQL Server genererà anche 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. |
Vedi anche
Viste di sistema (Transact-SQL)
Viste dello schema delle informazioni (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)