Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Triggerek gyakorlás
2
1. feladat: Írj triggert, amely CSAK egy személy NEVének MÓDOSÍTásakor fut le, és kiírja a változtatást.
3
Megoldás: CREATE OR REPLACE TRIGGER feladat1 BEFORE UPDATE OF NEV ON SZEMELY FOR EACH ROW BEGIN DBMS_OUTPUT.PUT_LINE(‚Regi nev: ' || :OLD.NEV); DBMS_OUTPUT.PUT_LINE('Uj nev: ' || :NEW.NEV); END;
4
2. feladat: Írj triggert, amely egy személy törlése után kiírja, hogy a városa folyómenti-e.
5
Megoldás: CREATE OR REPLACE TRIGGER feladat2 AFTER DELETE ON SZEMELY FOR EACH ROW DECLARE folyomentie VAROSOK.FOLYOMENTIE%TYPE; BEGIN SELECT FOLYOMENTIE INTO folyomentie FROM VAROSOK WHERE IRSZ = :OLD.IRSZ AND ORSZAG=:OLD.ORSZAG; DBMS_OUTPUT.PUT_LINE('Törölt személy városa folyómenti-e: '||folyomentie); END;
6
3. feladat: Írj triggert, amely CSAK 6000 és 7000 közötti irányítószámú városok nevének módosításakor kiírja a változásokat.
7
Megoldás: CREATE OR REPLACE TRIGGER feladat3 BEFORE UPDATE OF NEV ON VAROSOK FOR EACH ROW WHEN (OLD.IRSZ>=6000 AND OLD.IRSZ<=7000) BEGIN DBMS_OUTPUT.PUT_LINE('Regi nev: '||:OLD.NEV); DBMS_OUTPUT.PUT_LINE('Uj nev: '||:NEW.NEV); END;
8
4. feladat: Írj triggert, amely üdvözli a felhasználót, ha belép az adatbázisba.
9
Megoldás: CREATE OR REPLACE TRIGGER feladat4 AFTER LOGON ON SCHEMA BEGIN DBMS_OUTPUT.PUT_LINE('Üdvözöljük '||USER); END;
10
5. feladat: Írj triggert, amely megakadályozza németországi személyek törlését.
11
Megoldás: set serveroutput on; CREATE OR REPLACE TRIGGER feladat5 BEFORE DELETE ON SZEMELY FOR EACH ROW WHEN (OLD.ORSZAG LIKE '%Német%') BEGIN RAISE_APPLICATION_ERROR(-20012,'Németországi személy törlése nem megengedett.'); END;
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.