--Author: sdt-mvasylovskyi --Forward BEGIN IF ( EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ILIKE 'cci' AND TABLE_NAME ILIKE 'FactStrategicChargeCodeDetail' ) ) THEN IF ( NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA ILIKE 'cci' AND TABLE_NAME ILIKE 'FactStrategicChargeCodeDetail' AND COLUMN_NAME ILIKE 'DistributedUnits' ) ) THEN ALTER TABLE cci.FactStrategicChargeCodeDetail ADD COLUMN DistributedUnits FLOAT NOT NULL DEFAULT(0); END IF; IF ( NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA ILIKE 'cci' AND TABLE_NAME ILIKE 'FactStrategicChargeCodeDetail' AND COLUMN_NAME ILIKE 'DistributedCost' ) ) THEN ALTER TABLE cci.FactStrategicChargeCodeDetail ADD COLUMN DistributedCost FLOAT NOT NULL DEFAULT(0); END IF; END IF; END; --Rollback BEGIN IF ( EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ILIKE 'cci' AND TABLE_NAME ILIKE 'FactStrategicChargeCodeDetail' ) ) THEN ALTER TABLE cci.FactStrategicChargeCodeDetail DROP COLUMN IF EXISTS DistributedUnits; ALTER TABLE cci.FactStrategicChargeCodeDetail DROP COLUMN IF EXISTS DistributedCost; END IF; END;