Condividi tramite


CHECK_CONSTRAINTS (Transact-SQL)

Restituisce una riga per ogni vincolo CHECK nel 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 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 a cui appartiene il vincolo.

Nota importanteImportante
Non utilizzare viste INFORMATION_SCHEMA per determinare lo schema di un oggetto. L'unica modalità affidabile per cercare lo schema di un oggetto consiste nell'eseguire una query sulla vista del catalogo sys.objects o nell'utilizzare la funzione OBJECT_SCHEMA_NAME.

CONSTRAINT_NAME

sysname

Nome del vincolo.

CHECK_CLAUSE

nvarchar(4000)

Testo effettivo dell'istruzione di definizione Transact-SQL.

A differenza di quanto avviene in SQL Server 2000, in SQL Server 2008 le espressioni SQL vengono decodificate e archiviate nei metadati del catalogo. La semantica dell'espressione decodificata è equivalente al testo originale, tuttavia non è garantito che la sintassi venga mantenuta. Gli spazi vuoti, ad esempio, vengono eliminati dall'espressione decodificata. Per ulteriori informazioni, vedere Differenze di funzionamento delle funzionalità del Motore di database in SQL Server 2008.

Esempi

Nell'esempio seguente vengono restituite colonne CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME e CHECK_CLAUSE per ogni vincolo CHECK nel database che contiene 'StartDate' nella definizione del vincolo.

USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';

Nell'esempio seguente vengono restituite le colonne dalle viste CHECK_CONSTRAINTS e CONSTRAINT_COLUMN_USAGE per visualizzare informazioni sul vincolo e la colonna per la quale è definito il vincolo.

USE AdventureWorks;
GO

SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
    ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;