71 lines
1.6 KiB
MySQL
71 lines
1.6 KiB
MySQL
|
|
-- =============================================================================
|
|||
|
|
-- 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;
|