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