SQL-Server 2000 ALTER TABLE ANSI-Std?

Hallo M$-Gurus!

Ich möchte gerne den DEFAULT-Wert einer Spalte in einer Tabelle ändern. Da wir Server-unabhängig bleiben müssen, verwenden wird vorzugsweise ANSI-Syntax. Für mein Problem wäre das dann etwas in dieser Art:

ALTER TABLE TabelleXY ALTER COLUMN FeldXY SET DEFAULT 0

Leider meckert hier der SQL-Server: „Incorrect syntax near the keyword ‚default‘“
Und wenn ich dann in der Onlinehilfe nachschlage, finde ich auch die richtige Syntax dazu:

ALTER TABLE TabelleXY DROP CONSTRAINT ConstraintXY
ALTER TABLE TabelleXY ADD CONSTRAINT ConstraintXY DEFAULT 0 FOR FeldXY 

Diese Syntax wird dann auch akzeptiert, allerdings wage ich zu bezweifeln, dass wir dann immernoch unabhängig sind.

Kann der SQL-Server im Bereich Default-Wert wirklich den Standard nicht umsetzen? Ich möchte keine zusätzlichen Constraint-Namen verwalten. Wie kann ich diese umgehen?

Lösungen wie „if Server=„MS SQL-Server“ then … else …“ möchte ich ebenfalls vermeiden.

tia. Gruss: Christian

Hi Christian,

Kann der SQL-Server im Bereich Default-Wert wirklich den
Standard nicht umsetzen? Ich möchte keine zusätzlichen
Constraint-Namen verwalten. Wie kann ich diese umgehen?

Lösungen wie „if Server=„MS SQL-Server“ then … else …“
möchte ich ebenfalls vermeiden.

Tja, da haste ärgerlicherweise Pech (ich auch :frowning:). Ich finde dieses Thema auch ärgerlich, habe aber (ausser einer Stored Procedure) noch keinen Weg gefunden.

Gruß
Clemens