sql / expert
Snippet
Identity-Steuerung mit OVERRIDING SYSTEM VALUE
Wenn eine Spalte als GENERATED ALWAYS AS IDENTITY definiert ist, verbietet die Datenbank die manuelle Eingabe von Werten. Die Klausel OVERRIDING SYSTEM VALUE umgeht diese Einschränkung und ermöglicht die manuelle Vergabe von Schlüsseln bei Datenmigrationen.
snippet.sql
1
2
3
INSERT INTO system_users (id, username)OVERRIDING SYSTEM VALUEVALUES (1001, 'legacy_admin');
Erklärung
1
INSERT INTO system_users (id, username)
Initiiert das Einfügen in eine Tabelle, die eine Identity-Spalte enthält.
2
OVERRIDING SYSTEM VALUE
Weist die SQL-Engine an, den bereitgestellten Wert gegenüber dem automatischen Sequenzgenerator für diese Zeile zu priorisieren.
3
VALUES (1001, 'legacy_admin')
Der spezifische manuelle Wert, der für die Identity-geschützte ID-Spalte angegeben wurde.