This is an old revision of the document!
CREATE OR REPLACE TYPE ausbildung AS TABLE OF VARCHAR2(100) /
CREATE TABLE kursteilnehmer_jn (id NUMBER, kursteilnehmer_id NUMBER, name VARCHAR2(100 BYTE), punkte NUMBER, log_date DATE, dml VARCHAR2(1 BYTE)) /
CREATE TABLE kursteilnehmer (id NUMBER , name VARCHAR2(100 BYTE), ausbildung HR.AUSBILDUNG, create_date DATE, change_date DATE, punkte NUMBER) NESTED TABLE ausbildung STORE AS store_ausbildung / -- Indexes for KURSTEILNEHMER CREATE UNIQUE INDEX sys_c009774 ON kursteilnehmer ( ausbildung ASC ) / -- Constraints for KURSTEILNEHMER ALTER TABLE kursteilnehmer ADD CONSTRAINT kursteilnehmer_name_uk UNIQUE (name) / ALTER TABLE kursteilnehmer ADD CONSTRAINT kursteilnehmer_id_pk PRIMARY KEY (id) / -- Triggers for KURSTEILNEHMER CREATE OR REPLACE TRIGGER kursteilnehmer_insert_id_trg BEFORE INSERT ON kursteilnehmer REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW begin :new.id := s.nextval; :new.create_date := sysdate; end; / CREATE OR REPLACE TRIGGER kursteilnehmer_change_date_trg BEFORE UPDATE ON kursteilnehmer REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW begin :new.change_date := sysdate; end; / CREATE OR REPLACE TRIGGER kursteilnehmer_log_trg AFTER INSERT OR DELETE OR UPDATE ON kursteilnehmer REFERENCING NEW AS NEW OLD AS OLD declare v_dml varchar2(1); begin if inserting then v_dml := 'I'; elsif updating then v_dml := 'U'; else v_dml := 'D'; end if; insert into log (logging) values (v_dml||' :kursteilnehmer'); end; / CREATE OR REPLACE TRIGGER kursteilnehmer_jn_trg AFTER INSERT OR DELETE OR UPDATE ON kursteilnehmer REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW declare v_dml varchar2(1); begin v_dml := (case when inserting then 'I' when updating then 'U' else 'D' end); insert into kursteilnehmer_jn ( id, kursteilnehmer_id, name, punkte, log_date, dml ) values ( s.nextval, coalesce(:new.id, :old.id), coalesce(:new.name, :old.name), coalesce(:new.punkte, :old.punkte), sysdate, v_dml ); end; /
CREATE TABLE kt_telefon (id NUMBER, kursteilnehmer_id NUMBER, telnr VARCHAR2(30 BYTE)) / ALTER TABLE kt_telefon ADD CONSTRAINT kt_telefon_kt_id_fk FOREIGN KEY (kursteilnehmer_id) REFERENCES kursteilnehmer (id) ON DELETE CASCADE /