2499


  1. SEKWENCJE

create sequence film_sekw increment by 1 start with 005;

insert into film values

(film_sekw.nextval, `Mulholland Drive', `Lynch', `psychologiczny', `USA', 2002, '02:30', `brak', 10, `nie');

create sequence pracownik_sekw increment by 1 start with 10;

insert into film values (pracownik_sekw.NEXTVAL, 'Fijałkowska', 'Ewa');

  1. WYZWALACZE

CREATE TRIGGER wyzw_f_cena AFTER INSERT ON wizyta
BEGIN

IF :NEW.cena<0 THEN
RAISE_APPLICATION_ERROR (-20020,'Cena nie może być wartością ujemną'))

ENDIF;

END;

CREATE TRIGGER wyzw_wyp_update AFTER UPDATE OF wypożyczenie

Begin

Update kaseta set kas_czy_wypożyczono = `nie' WHERE kas_f_id = :new. wyp_kas_id;

END;

  1. PROCEDURY

CREATE OR REPLACE PROCEDURE DodajNowyFilm

( p_tytul film.f_tytuł%TYPE,

p_reżyser film.f_rezyser%TYPE,

p_gatunek film.f_gatunek%TYPE,

p_kraj film.f_kraj%TYPE,

p_rok film.f_rok%TYPE,

p_czas film.f_czas%TYPE,

p_uwagi film.f_uwagi%TYPE,

p_cena film.f_cena%TYPE,

p_czy_wyp film.f_czy_wyp%TYPE

) AS

BEGIN

INSERT INTO film (f_id, f_tytuł, f_reżyser, f_gatunek, f_kraj, f_rok, f_czas, f_uwagi, f)

VALUES (film_sekwencja.nextval, p_tytul, p_rezyser, p_gatunek, p_kraj, p_rok, p_czas, p_uwagi,

p_cena, p_czy_wyp);

COMMIT;

END DodajNowyFilm;

/

BEGIN

DodajNowyFilm ('SW', 'Luca', 'sf', `USA', 1977, `02:10');

END;

/

ROLLBACK;

CREATE OR REPLACE PROCEDURE DodajNowegoLekarza (

pl_PeselL lekarz.PeselL%TYPE

pl_Nazwisko lekarz.Nazwisko%TYPE

pl_Imie lekarz.Imie%TYPE

pl_TytulNaukowy lekarz.TytulNaukowy%TYPE

pl_Ulica lekarz.Ulica%TYPE

pl_NrDomu lekarz.NrDomu%TYPE

pl_KodPocztowy lekarz.KodPocztowy%TYPE

pl_Miasto lekarz.Miasto%TYPE

pl_Telefon lekarz.Telefon%TYPE

pl_Uwagi lekarz.Uwagi%TYPE) AS

BEGIN

INSERT INTO lekarz (IdLekarza, PeselP, Nazwisko, Imie, TytulNaukowy, Ulica, NrDomu, KodPocztowy, Miasto, Telefon, Uwagi)

VALUES (lekarz_seq.NEXTVAL, pl_PeselP, pl_Nazwisko, pl_Imie, pl_TytulNaukowy, pl_Ulica, pl_NrDomu, pl_KodPocztowy, pl_Miasto, pl_Telefon, pl_Uwagi);

COMMIT;

END DodajNowegoLekarza;

- przykładowe użycie

BEGIN

DodajNowegoLekarza (55020312567, 'Iwanow', 'Wadim', 'lek.med.', 'POW', '1', 42200, 'Częstochowa', 3616843, 'Ukraina');

END;



Wyszukiwarka

Podobne podstrony:
2499
00e jezykiid 2499
2499
2499
2499
2499

więcej podobnych podstron