Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Triggerek gyakorlás.

Hasonló előadás


Az előadások a következő témára: "Triggerek gyakorlás."— Előadás másolata:

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;


Letölteni ppt "Triggerek gyakorlás."

Hasonló előadás


Google Hirdetések