Hoi,
ik heb een database met een aantal kolommen. Nu heb ik een view met daarin informatie over medewerkers. Het probleem is nu dat ik dat wil toevoegen en updaten in de view en dat lukt niet.
Mijn trigger:
CREATE OR REPLACE TRIGGER v_med_trig
INSTEAD OF INSERT
ON V_MEDEWERKER
FOR EACH ROW
BEGIN
INSERT INTO MEDEWERKER
(medewerkernummer, functie, medewerkervoornaam,
medewerkerachternaam)
VALUES
(:NEW.medewerkernummer, :NEW.functie, :NEW.medewerkervoornaam,
:NEW.medewerkerachternaam);
INSERT INTO MEDEWERKERTELNUMMER
(medewerker, telefoonnummermedewerker)
VALUES
(:NEW.medewerker, :NEW.telefoonnummermedewerker);
END v_med_trig;
/
Mijn tabellen:
CREATE TABLE MEDEWERKER (
MEDEWERKERNUMMER NUMBER NOT NULL,
FUNCTIE VARCHAR2(10) NOT NULL,
VOORNAAMMEDEWERKER VARCHAR2(15) NOT NULL,
ACHTERNAAMMEDEWERKER VARCHAR2(25) NOT NULL,
CONSTRAINT PK_MEDEWERKER PRIMARY KEY (MEDEWERKERNUMMER)
);
CREATE TABLE MEDEWERKERTELNUMMER (
MEDEWERKER NUMBER NOT NULL,
TELEFOONNUMMERMEDEWERKER NUMBER NOT NULL,
CONSTRAINT PK_MEDEWERKERTELNUMMER PRIMARY KEY (MEDEWERKER, TELEFOONNUMMERMEDEWERKER)
);
Mijn view:
CREATE OR REPLACE VIEW V_MEDEWERKER
as
SELECT M.MEDEWERKERNUMMER
, M.FUNCTIE
, M.VOORNAAMMEDEWERKER
, M.ACHTERNAAMMEDEWERKER
, T.TELEFOONNUMMERMEDEWERKER
, T.MEDEWERKER
FROM MEDEWERKER M
, MEDEWERKERTELNUMMER T
WHERE M.MEDEWERKERNUMMER = T.MEDEWERKER;
Wanneer ik de trigger uit wil voeren krijg ik een foutmelding met compilatiefouten.
Wie kan mij zeggen wat ik fout doe?
ik heb een database met een aantal kolommen. Nu heb ik een view met daarin informatie over medewerkers. Het probleem is nu dat ik dat wil toevoegen en updaten in de view en dat lukt niet.
Mijn trigger:
CREATE OR REPLACE TRIGGER v_med_trig
INSTEAD OF INSERT
ON V_MEDEWERKER
FOR EACH ROW
BEGIN
INSERT INTO MEDEWERKER
(medewerkernummer, functie, medewerkervoornaam,
medewerkerachternaam)
VALUES
(:NEW.medewerkernummer, :NEW.functie, :NEW.medewerkervoornaam,
:NEW.medewerkerachternaam);
INSERT INTO MEDEWERKERTELNUMMER
(medewerker, telefoonnummermedewerker)
VALUES
(:NEW.medewerker, :NEW.telefoonnummermedewerker);
END v_med_trig;
/
Mijn tabellen:
CREATE TABLE MEDEWERKER (
MEDEWERKERNUMMER NUMBER NOT NULL,
FUNCTIE VARCHAR2(10) NOT NULL,
VOORNAAMMEDEWERKER VARCHAR2(15) NOT NULL,
ACHTERNAAMMEDEWERKER VARCHAR2(25) NOT NULL,
CONSTRAINT PK_MEDEWERKER PRIMARY KEY (MEDEWERKERNUMMER)
);
CREATE TABLE MEDEWERKERTELNUMMER (
MEDEWERKER NUMBER NOT NULL,
TELEFOONNUMMERMEDEWERKER NUMBER NOT NULL,
CONSTRAINT PK_MEDEWERKERTELNUMMER PRIMARY KEY (MEDEWERKER, TELEFOONNUMMERMEDEWERKER)
);
Mijn view:
CREATE OR REPLACE VIEW V_MEDEWERKER
as
SELECT M.MEDEWERKERNUMMER
, M.FUNCTIE
, M.VOORNAAMMEDEWERKER
, M.ACHTERNAAMMEDEWERKER
, T.TELEFOONNUMMERMEDEWERKER
, T.MEDEWERKER
FROM MEDEWERKER M
, MEDEWERKERTELNUMMER T
WHERE M.MEDEWERKERNUMMER = T.MEDEWERKER;
Wanneer ik de trigger uit wil voeren krijg ik een foutmelding met compilatiefouten.
Wie kan mij zeggen wat ik fout doe?