Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
SET CONSTRAINTS
SET CONSTRAINTSimposta il comportamento del controllo dei vincoli di chiave esterna all'interno della transazione corrente.
Sintassi supportata
SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
Description
SET CONSTRAINTSimposta il comportamento del controllo dei vincoli all'interno della transazione corrente. IMMEDIATEi vincoli vengono controllati alla fine di ogni istruzione. DEFERREDi vincoli vengono controllati solo dopo il commit della transazione. Ogni vincolo ha una propria modalità. IMMEDIATE DEFERRED
Quando si crea un vincolo, gli si assegna una delle tre caratteristiche seguenti:DEFERRABLE INITIALLY DEFERRED,DEFERRABLE INITIALLY IMMEDIATE, o. NOT DEFERRABLE La terza classe è sempre IMMEDIATE e il SET CONSTRAINTS comando non la modifica. Le prime due classi avviano ogni transazione nella modalità indicata, ma il loro comportamento può essere modificato all'interno di una transazione daSET CONSTRAINTS.
SET CONSTRAINTScon un elenco di nomi di vincoli cambia la modalità solo di tali vincoli. Tutti i vincoli denominati devono essere differibili. SET CONSTRAINTS
ALLmodifica la modalità di tutti i vincoli differibili.
Quando SET CONSTRAINTS cambia la modalità di un vincolo da DEFERRED aIMMEDIATE, la nuova modalità ha effetto retroattivo. Aurora DSQL verifica immediatamente eventuali modifiche ai dati in sospeso che altrimenti sarebbero state rimandate alla fine della transazione. Se uno di questi vincoli viene violato, il SET CONSTRAINTS comando ha esito negativo e non modifica la modalità di vincolo.
Per una descrizione delle opzioni di differibilità (DEFERRABLE,,,INITIALLY IMMEDIATE) NOT
DEFERRABLEINITIALLY DEFERRED, vedi nella pagina. Differibilità CREATE TABLE
Solo vincoli di chiave esterna
In Aurora DSQL, SET CONSTRAINTS si applica solo ai vincoli di chiave esterna. La chiave primaria, l'univoca e CHECK i vincoli vengono sempre controllati immediatamente quando una riga viene inserita o modificata, anche durante l'esecuzione. NOT NULL SET CONSTRAINTS ALL DEFERRED
Note
Aurora DSQL modifica il comportamento dei vincoli solo all'interno della transazione corrente. Per utilizzarloSET CONSTRAINTS, eseguilo all'interno di un blocco di transazione esplicito.
Compatibilità
Questo comando è conforme al comportamento definito nello standard SQL, con la restrizione che Aurora DSQL supporta il differimento solo per i vincoli di chiave esterna.