Schreibschutz von Tabellen

Ein Schreibschutz kann auf Tabellen angewendet werden. Dieser verhindert DDL (Data Definition Language) und DML (Data Manipulation Language) Änderung während des Wartungsmodus. Das Statement lautet:

ALTER TABLE tablename READ ONLY; -- nur mehr lesbar 
ALTER TABLE tablename READ WRITE; -- Lesen und Schreiben erlaubt

VIEWs können mit einer WITH READ ONLY Option ausgestattet werden. Dadurch wird sichergestellt, dass keine DML Operationen ausgeführt werden können.

CREATE VIEW empView AS 
SELECT empno, empname, deptid
FROM emp
WHERE deptid = 10
WITH READ ONLY;

Alternativ kann eine CHECK Option hinzugefügt werden, damit DML Operationen in der Domäne der VIEW bleiben.

CREATE VIEW empView AS 
SELECT empno, empname, deptid
FROM emp
WHERE deptid = 10
WITH CHECK OPTION CONSTRAINT empView_ck;

Dies stellt sicher, dass nur Werte eingefügt, verändert oder gelöscht werden können, welche sich auf das Department 10 beziehen. Das Einfügen eines Mitarbeiters mit einer anderen deptId ist nicht möglich.