Bei den folgenden Anweisungen wird davon ausgegangen, dass Sie eine Oracle-Datenbank verwenden. Sie werden durch die folgenden Tasks geführt:
Vorbereitungen
Sie müssen eine Datenbank erstellen.
Hinweis: Berücksichtigen Sie Folgendes beim Erstellen der Datenbanktabellen und beim Zugriff darauf:
DROP TABLE "DBINPUT_CUSTOMER"; CREATE TABLE "DBINPUT_CUSTOMER" ( "PKEY" VARCHAR(10) NOT NULL PRIMARY KEY, "FIRSTNAME" VARCHAR(20), "LASTNAME" VARCHAR(20), "CCODE" VARCHAR(10) ); DROP TABLE "DBINPUT_EVENTS"; CREATE TABLE "DBINPUT_EVENTS" ( "EVENT_ID" INTEGER PRIMARY KEY "OBJECT_KEY" VARCHAR(80) NOT NULL, "OBJECT_VERB" VARCHAR(40) NOT NULL ); CREATE SEQUENCE "DBINPUT_SEQUENCE" (start with 1 increment by 1 nomaxvalue); CREATE TRIGGER "DBIN_SEQ_TRIG" BEFORE INSERT ON "DBINPUT_EVENTS" FOR EACH ROW BEGIN SELECT DBINPUT_SEQUENCE.nextval INTO :NEW.EVENT_ID FROM dual; END; CREATE TRIGGER "DBIN_CUST_EVENT" AFTER INSERT OR DELETE OR UPDATE ON "DBINPUT_CUSTOMER" REFERENCING NEW AS N OLD AS O FOR EACH ROW BEGIN IF inserting THEN INSERT INTO DBINPUT_EVENTS(OBJECT_KEY, OBJECT_VERB) VALUES(:N.PKEY,'Create'); END IF; IF updating THEN INSERT INTO DBINPUT_EVENTS(OBJECT_KEY, OBJECT_VERB) VALUES(:N.PKEY,'Update'); END IF; IF deleting THEN INSERT INTO DBINPUT_EVENTS(OBJECT_KEY, OBJECT_VERB) VALUES(:O.PKEY,'Delete'); END IF; END;
sqlplus <Benutzer-ID>/<Kennwort> @dbinput_create_tables_oracle.sql
Warten Sie das Ende des Scripts ab. Wenn Sie das Script zum ersten Mal ausführen, wird die folgende Nachricht angezeigt:
ORA-00942: table or view does not exist (Tabelle oder Ansicht ist nicht vorhanden)Ignorieren Sie diese Nachricht. Die Nachricht wird angezeigt, weil das Script versucht, die möglicherweise bereits vorhandenen Tabellen 'DBINPUT_CUSTOMER' und 'DBINPUT_EVENTS' zu löschen, bevor neue Tabellen erstellt werden. Wenn das Script jedoch zum ersten Mal ausgeführt wird, sind keine Tabellen vorhanden.