Frage von KgFmB, 11

Wie lautet der der SQL Updatestring zum Ändern eines Datenbanktyps auf einem SQL Server?

Hi zusammen,

In meiner Tabelle auf einem SQL Server habe ich eine Spalte mal mit decimal(18,2) angelegt. Nun muss ich aber eine Genauigkeit von 3 Nachkommastellen haben, also vom Typ decimal(18,3).

Wie könnte der korrekte SQL-Updatescript hierzu lauten?

Und bevor die Frage kommt, warum ich das nicht per Managementkonsole mache: Es muss als SQL-Updatescript sein. Auch zur Dokumentation. Die Variante "Mach es per Mangerkonsole" fällt somit weg.

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

Antwort
von keksmampfer91, 7

suche mal nach "alter table"

http://www.w3schools.com/sql/sql_alter.asp

Kommentar von KgFmB ,

Kann es echt so billig sein??????

Antwort
von jsuessmeyer,

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