Ich versuche gerade vergeblich eine Lösung zu finden, wie ich eine leider etwas unbekannte Constraint löschen kann... (welche implizit durch die Definition eines Default-Werts hinzugefügt wurde)
Mittlerweile bin ich soweit, dass ich mir so das
SQL Statement basteln kann:
SELECT 'ALTER TABLE [Invoice] DROP CONSTRAINT ' + QUOTENAME(name) FROM sys.all_objects where name like 'DF__Invoice__Payed__%'
Dabei kommt dann folgendes heraus:
ALTER TABLE [Invoice] DROP CONSTRAINT [DF__Invoice__Payed__44FF419A]
Das sollte jetzt jedoch gleich auch noch ausgeführt werden.
Oder kann man die Constraint gleich irgendwie mit löschen?
ALTER TABLE [Invoice] DROP COLUMN Payed;
<-- so jedenfalls nicht, da gibts folgende Meldung:
Meldung 5074, Ebene 16, Status 1, Zeile 1
Das Objekt-Objekt 'DF__Invoice__Payed__44FF419A' ist vom Spalte-Objekt 'Payed' abhängig.
Meldung 4922, Ebene 16, Status 9, Zeile 1
Fehler bei ALTER TABLE DROP COLUMN Payed, da mindestens ein Objekt auf diese Spalte zugreift.
Damals wurde die Spalte so hinzugefügt:
ALTER TABLE Invoice ADD Payed bit NOT NULL default 0;
Das "default 0" ist das Problem denk ich.