Toon posts:

instead of trigger aanmaken

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb de volgende tabellen en view aangemaakt:

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)
);

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 T.MEDEWERKER = M.MEDEWERKERNUMMER;

Nou wil ik de volgende trigger toekennen:

create or replace trigger mw_view_trig
instead of update on v_medewerker
for each row
begin
update medewerker
set medewerkernummer = nvl (:new.medewerkernummer, medewerkernummer),
functie = nvl (:new.functie, functie),
voornaammedewerker = nvl (:new.voornaammedewerker, voornaammedewerker),
achternaammedewerker = nvl (:new.achternaammedewerker, achternaammedewerker)
where medewerkernummer = new.medewerkernummer;
update medewerkertelnummer
set medewerker = (:new.medewerker, medewerker),
telefoonnummermedewerker = nvl (:new.telefoonnummermedewerker, telefoonnummermedewerker)
where medewerker = new.medewerker;
end mw_view_trig;

Als ik deze trigger aanmaak dan creeert hij deze wel maar met compilatiefouten. Het doel is dus informatie in de view wijzigen en deze dus meteen in de tabellen aan te passen. Ziet iemand wat ik verkeerd doe?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Euh, sorry hoor, maar P&W is geen forum waar je zomaar hele lappn code moet dumpen, en het debuggen of het oplossen van syntax errors (want dat is het in jouw geval, als je compilatie-fouten krijgt) aan anderen kunt overlaten.
Interpreteer de foutmeldingen die je krijgt, sla desnoods de Books Online, of een andere manual of tutorial erop na.
Debuggen of syntax errors zoeken gaan wij echt niet voor jou doen.

Check bv eens de keywords waar er errors op gegeven worden, en ga eens na of deze keywords/functies wel bestaan.
NVL() is bv een functie die SQL Server niet kent, maar Oracle wel. Oracle kent dan echter weer geen INSTEAD OF triggers.

[ Voor 23% gewijzigd door whoami op 06-01-2004 20:35 ]

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Oja, en lees misschien ook even onze P&W Quickstart

https://fgheysels.github.io/


Dit topic is gesloten.