Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SET CONSTRAINTS
SET CONSTRAINTSdéfinit le comportement de la vérification des contraintes de clé étrangère dans la transaction en cours.
Syntaxe prise en charge
SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
Description
SET CONSTRAINTSdéfinit le comportement de la vérification des contraintes dans la transaction en cours. IMMEDIATEles contraintes sont vérifiées à la fin de chaque instruction. DEFERREDles contraintes ne sont pas vérifiées tant que la transaction n'est pas validée. Chaque contrainte possède son propre DEFERRED mode IMMEDIATE ou.
Lorsque vous créez une contrainte, vous lui attribuez l'une des trois caractéristiques suivantes : DEFERRABLE INITIALLY DEFERREDDEFERRABLE INITIALLY IMMEDIATE, ouNOT DEFERRABLE. La troisième classe existe toujours IMMEDIATE et la SET CONSTRAINTS commande ne la modifie pas. Les deux premières classes démarrent chaque transaction dans le mode indiqué, mais leur comportement peut être modifié au sein d'une transaction parSET CONSTRAINTS.
SET CONSTRAINTSavec une liste de noms de contraintes, change le mode de ces contraintes uniquement. Toutes les contraintes nommées doivent être différées. SET CONSTRAINTS
ALLmodifie le mode de toutes les contraintes différées.
Lorsque le mode d'une contrainte SET CONSTRAINTS passe de DEFERRED àIMMEDIATE, le nouveau mode prend effet rétroactivement. Aurora DSQL vérifie immédiatement toutes les modifications de données en suspens qui auraient autrement été reportées à la fin de la transaction. Si l'une de ces contraintes n'est pas respectée, la SET CONSTRAINTS commande échoue et ne modifie pas le mode de contrainte.
Pour une description des options de différabilité (DEFERRABLE,, NOT
DEFERRABLEINITIALLY DEFERRED,INITIALLY IMMEDIATE), consultez la Déférabilité CREATE TABLE page.
Contraintes de clé étrangère uniquement
Dans Aurora DSQL, SET CONSTRAINTS s'applique uniquement aux contraintes de clé étrangère. La clé primaire, l'NOT NULLunicité et les CHECK contraintes sont toujours vérifiées immédiatement lorsqu'une ligne est insérée ou modifiée, même lorsque vous exécutezSET CONSTRAINTS ALL DEFERRED.
Remarques
Aurora DSQL modifie le comportement des contraintes uniquement dans le cadre de la transaction en cours. Pour l'utiliserSET CONSTRAINTS, exécutez-le dans un bloc de transaction explicite.
Compatibilité
Cette commande est conforme au comportement défini dans la norme SQL, avec la restriction selon laquelle Aurora DSQL ne prend en charge le report que pour les contraintes de clé étrangère.