capypad
0 Tage Serie
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
sql
1
2
3
INSERT INTO system_users (id, username)
OVERRIDING SYSTEM VALUE
VALUES (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.