Frage von KgFmB, 4

SQL Server Spalteneigenschaft Dezimalstellen ändern per Script?

Hi zusammen,

in meiner Tabelle auf einem SQL Server habe ich eine Spalte vom Typ mal mit decimal(18,2) angelegt.

Nun muss ich aber eine Genauigkeit mit 3 haben also vom Typ decimal(18,3) wie könnte der korrekte SQL Updatescript lauten?

Und bevor die Frage kommt, warum ich das nicht per Management konsole mache: Es muss als SQL-Update-Script sein, um dieses auch auf andere Spalten und als Dokumentation. Die Variante "Mach es per Manager" fällt weg.

Danke schonmal im voraus für eure Ideen und Scripte.

Antwort
von jsuessmeyer, 1

Wenn es ein Upgradeskript ist, solltest Du auch bedenken, dass es idempotent sein sollte, sprich, das ALTER script sollte mehrfach ausführbar sein, daher ist es wichtig die Vorbedigung zu beobachten:

--CREATE TABLE SomeTable
--(A DECIMAL(18,0))

--GO

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SomeTable' AND COLUMN_NAME = 'A' DATA_TYPE = 'DECIMAL' AND NUMERIC_PRECISION = 18 AND NUMERIC_SCALE = 0)
BEGIN
 ALTER TABLE SomeTable
 ALTER COLUMN A DECIMAL(18,2)
END

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten