Template
64 lines
1.5 KiB
SQL
64 lines
1.5 KiB
SQL
--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;
|
|
|