Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
SET CONSTRAINTS
SET CONSTRAINTSlegt das Verhalten bei der Überprüfung von Fremdschlüsseleinschränkungen innerhalb der aktuellen Transaktion fest.
Unterstützte Syntax
SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
Description
SET CONSTRAINTSlegt das Verhalten der Einschränkungsprüfung innerhalb der aktuellen Transaktion fest. IMMEDIATEEinschränkungen werden am Ende jeder Anweisung überprüft. DEFERREDEinschränkungen werden erst überprüft, wenn die Transaktion festgeschrieben wird. Jede Einschränkung hat ihren eigenen IMMEDIATE DEFERRED ODER-Modus.
Wenn Sie eine Beschränkung erstellen, weisen Sie ihr eines von drei Merkmalen zu: DEFERRABLE INITIALLY DEFERREDDEFERRABLE INITIALLY IMMEDIATE, oderNOT DEFERRABLE. Die dritte Klasse ist immerIMMEDIATE, und der SET CONSTRAINTS Befehl ändert sie nicht. Die ersten beiden Klassen starten jede Transaktion im angegebenen Modus, ihr Verhalten kann jedoch innerhalb einer Transaktion geändert werdenSET CONSTRAINTS.
SET CONSTRAINTSmit einer Liste von Constraint-Namen ändert sich der Modus genau dieser Constraints. Alle benannten Einschränkungen müssen aufschiebbar sein. SET CONSTRAINTS
ALLändert den Modus aller aufschiebbaren Beschränkungen.
Wenn der Modus einer Beschränkung von DEFERRED auf SET CONSTRAINTS geändert wirdIMMEDIATE, wird der neue Modus rückwirkend wirksam. Aurora DSQL überprüft sofort alle ausstehenden Datenänderungen, die andernfalls bis zum Ende der Transaktion zurückgestellt worden wären. Wenn eine solche Einschränkung verletzt wird, schlägt der SET CONSTRAINTS Befehl fehl und der Einschränkungsmodus wird nicht geändert.
Eine Beschreibung der Aufschiebbarkeitsoptionen (DEFERRABLE,, NOT
DEFERRABLEINITIALLY DEFERRED,INITIALLY IMMEDIATE) finden Sie Aufschiebbarkeit auf der CREATE TABLE Seite.
Nur Fremdschlüsseleinschränkungen
SET CONSTRAINTSGilt in Aurora DSQL nur für Fremdschlüsseleinschränkungen. PrimärschlüsselNOT NULL, Eindeutigkeit und CHECK Einschränkungen werden immer sofort überprüft, wenn eine Zeile eingefügt oder geändert wird, auch wenn Sie sie ausführenSET CONSTRAINTS ALL DEFERRED.
Hinweise
Aurora DSQL ändert das Verhalten von Einschränkungen nur innerhalb der aktuellen Transaktion. Um es zu verwendenSET CONSTRAINTS, führen Sie es in einem expliziten Transaktionsblock aus.
Kompatibilität
Dieser Befehl entspricht dem im SQL-Standard definierten Verhalten, mit der Einschränkung, dass Aurora DSQL den Aufschub nur für Fremdschlüsseleinschränkungen unterstützt.