Bei Verwendung von ALTER TABLE werden jede Menge Konsistenzprüfungen nebenbei erledigt. So ist es auf diese Weise nicht möglich Felder umzubenennen, die in einer CONTRAINT Klausel verbaut wurden. Beim direkten Ändern der Systemtabellen werden diese Prüfungen zumindest nicht alle durchgeführt. Ich würde grundsätzlich nur dann mit den System-Tabellen arbeiten, wenn es keine Standard-
SQL Lösung für meine Anforderung gibt. Ohne ein vollständiges Verständnis der System-Objekte begibst du dich da auf sehr dünnes Eis. Ich vermute, dass die von dir direkt vorgenommene Änderung in der System-Tabelle bereits einen inkonsistenten Zustand geschaffen hat - warum sonst hätte der ALTER Befehl die Warnglocken geläutet?
Nachdenkliche Grüße vom marabu