Vue TABLE_CONSTRAINTS¶
Cette vue Information Schema affiche une ligne pour chaque contrainte de table définie dans la base de données spécifiée (ou actuelle). Cette vue renvoie des informations sur les types de contraintes suivants :
PRIMARY KEY
FOREIGN KEY
UNIQUE
Pour des informations générales sur les contraintes, voir Contraintes.
- Voir aussi :
Colonnes¶
Nom de la colonne |
Type de données |
Description |
---|---|---|
CONSTRAINT_CATALOG |
TEXT |
Base de données à laquelle la contrainte appartient |
CONSTRAINT_SCHEMA |
TEXT |
Schéma auquel la contrainte appartient |
CONSTRAINT_NAME |
TEXT |
Nom de la contrainte |
TABLE_CATALOG |
TEXT |
Nom de la base de données de la table actuelle |
TABLE_SCHEMA |
TEXT |
Nom du schéma de la table actuelle |
TABLE_NAME |
TEXT |
Nom de la table actuelle |
CONSTRAINT_TYPE |
TEXT |
Type de contrainte |
IS_DEFERRABLE |
TEXT |
L’évaluation de la contrainte peut-elle être différée ? |
INITIALLY_DEFERRED |
TEXT |
L’évaluation de la contrainte peut-elle être différée et initialement différée ? |
ENFORCED |
TEXT |
La contrainte est-elle appliquée ? |
COMMENT |
TEXT |
Commentaire pour cette contrainte |
CREATED |
TIMESTAMP_LTZ |
Heure de création de la contrainte |
LAST_ALTERED |
TIMESTAMP_LTZ |
Date et heure de la dernière modification de l’objet par un DML, un DDL ou une opération de métadonnées en arrière-plan. Consultez Notes sur l’utilisation. |
RELY |
TEXT |
Si une contrainte en mode NOVALIDATE est prise en compte lors de la réécriture de la requête. Pour plus de détails, voir Propriétés des contraintes. |
Notes sur l’utilisation¶
La vue n’affiche que les objets pour lesquels le rôle actuel de la session s’est vu accorder des privilèges d’accès.
La colonne LAST_ALTERED est mise à jour lorsque les opérations suivantes sont effectuées sur un objet :
DDL opérations.
DML opérations (pour les tables uniquement). Cette colonne est mise à jour même si aucune ligne n’est affectée par l’instruction DML.
Opérations de maintenance des métadonnées en arrière-plan effectuées par Snowflake.
Exemple¶
Créez une table hybride avec une contrainte PRIMARY KEY à plusieurs colonnes et un commentaire sur la contrainte. Interrogez la vue pour obtenir des informations sur la contrainte.
CREATE OR REPLACE HYBRID TABLE HT2PK
(col1 NUMBER(38,0) NOT NULL,
col2 NUMBER(38,0) NOT NULL,
col3 VARCHAR(16777216),
CONSTRAINT PKEY_2 PRIMARY KEY (col1, col2) COMMENT 'Primary key on two columns');
SELECT constraint_name, table_name, constraint_type, enforced, comment
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE COMMENT IS NOT NULL;
+-----------------+------------+-----------------+----------+----------------------------+
| CONSTRAINT_NAME | TABLE_NAME | CONSTRAINT_TYPE | ENFORCED | COMMENT |
|-----------------+------------+-----------------+----------+----------------------------|
| PKEY_2 | HT2PK | PRIMARY KEY | YES | Primary key on two columns |
+-----------------+------------+-----------------+----------+----------------------------+
Renvoie une liste de contraintes sur toutes les tables dont les noms commencent par HT
:
SELECT constraint_name, table_name, constraint_type, enforced, comment
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE table_name LIKE 'HT%'
ORDER BY table_name;
+-----------------------------------------------------+------------------------+-----------------+----------+----------------------------+
| CONSTRAINT_NAME | TABLE_NAME | CONSTRAINT_TYPE | ENFORCED | COMMENT |
|-----------------------------------------------------+------------------------+-----------------+----------+----------------------------|
| SYS_CONSTRAINT_da2e8533-5501-4862-ae42-0a7798d578eb | HT01 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_5b3c6d13-f607-4ef6-a147-0026bae98c71 | HT1 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_d5887706-0e3b-4d5b-8787-e3327cdf4851 | HT100 | PRIMARY KEY | YES | NULL |
| PK1 | HT1PK | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_f1d1e153-cc32-477c-9a24-5c049e40ca0a | HT239 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_fe27c4f3-23f6-4091-92c4-5acd53cc5029 | HT239 | UNIQUE | YES | NULL |
| PKEY_2 | HT2PK | PRIMARY KEY | YES | Primary key on two columns |
| SYS_CONSTRAINT_0bd41d0f-11f7-4366-82a3-f03f31fcce7e | HT616 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_6124310b-5f50-4009-a5c0-dc1b5a89b0bc | HT616 | UNIQUE | YES | NULL |
| SYS_CONSTRAINT_bf3d76ba-de1e-4227-954f-9f53de777ed4 | HT619 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_c97bfe9b-6098-4b8a-b796-e341071db72a | HT619 | FOREIGN KEY | YES | NULL |
| SYS_CONSTRAINT_6e02d776-1759-449e-aece-467aaaefcfc8 | HTFK | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_51118aaf-1ee6-4548-bc9a-f87e65d92528 | HTFK | FOREIGN KEY | YES | NULL |
| SYS_CONSTRAINT_fe27c4f3-23f6-4091-92c4-5acd53cc5029 | HTLIKE | UNIQUE | YES | NULL |
| SYS_CONSTRAINT_f1d1e153-cc32-477c-9a24-5c049e40ca0a | HTLIKE | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_aad16788-491a-4e68-b0e3-30d48a33a1c1 | HTPK | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_0bdff17e-e90a-4929-99c5-98e3597e3069 | HTT1 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_39e9110f-7a72-454e-bfe2-0a26eca97e7c | HT_PRECIP | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_6acd8274-04e7-4b22-b9ae-29185b979219 | HT_SENSOR_DATA_DEVICE1 | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_39e9110f-7a72-454e-bfe2-0a26eca97e7c | HT_WEATHER | PRIMARY KEY | YES | NULL |
| SYS_CONSTRAINT_843d828a-900d-409e-a57d-8f27b602eccf | HT_WEATHER | PRIMARY KEY | YES | NULL |
+-----------------------------------------------------+------------------------+-----------------+----------+----------------------------+