Files
Dokumenten-Check/Scripts/DC_PROJECTS_NOTIFY_ALTER.sql

71 lines
1.6 KiB
MySQL
Raw Permalink Normal View History

-- =============================================================================
-- DC_PROJECTS_NOTIFY_ALTER.sql
-- Ergänzt dc_projects um drei Berichtstyp-Flags für die E-Mail-Benachrichtigung.
-- Idempotent: bereits vorhandene Spalten werden ignoriert.
-- =============================================================================
BEGIN
EXECUTE IMMEDIATE '
ALTER TABLE dc_projects ADD (
notify_ok CHAR(1) DEFAULT ''Y'' NOT NULL,
notify_hinweis CHAR(1) DEFAULT ''Y'' NOT NULL,
notify_abweichend CHAR(1) DEFAULT ''Y'' NOT NULL
)
';
DBMS_OUTPUT.PUT_LINE('Spalten notify_ok/notify_hinweis/notify_abweichend angelegt.');
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -1430 THEN
DBMS_OUTPUT.PUT_LINE('Spalten existieren bereits kein Änderungsbedarf.');
ELSE
RAISE;
END IF;
END;
/
-- Check-Constraints (idempotent)
BEGIN
EXECUTE IMMEDIATE '
ALTER TABLE dc_projects
ADD CONSTRAINT dc_projects_notify_ok_ck
CHECK (notify_ok IN (''Y'',''N''))
';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE IN (-2264, -2261) THEN NULL;
ELSE RAISE;
END IF;
END;
/
BEGIN
EXECUTE IMMEDIATE '
ALTER TABLE dc_projects
ADD CONSTRAINT dc_projects_notify_hinweis_ck
CHECK (notify_hinweis IN (''Y'',''N''))
';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE IN (-2264, -2261) THEN NULL;
ELSE RAISE;
END IF;
END;
/
BEGIN
EXECUTE IMMEDIATE '
ALTER TABLE dc_projects
ADD CONSTRAINT dc_projects_notify_abweichend_ck
CHECK (notify_abweichend IN (''Y'',''N''))
';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE IN (-2264, -2261) THEN NULL;
ELSE RAISE;
END IF;
END;
/
COMMIT;
EXIT;