plik


------------------------------------------------------------------------------------- ZAD1 create or replace package body MOJ as -- 1 -- procedure DODAJ_KLI(p_imie varchar2, p_nazwisko varchar2, p_nr_dowodu varchar2, p_miejscowosc varchar2, p_kod_pocztowy varchar2, p_ulica varchar2) is nowy_klient_id number; begin select klient_id_seq.NEXTVAL into nowy_klient_id from dual; insert into klienci(nowy_klient_id, p_nazwisko, p_imie, p_nr_dowodu, p_miejscowosc, p_kod_pocztowy, p_ulica); end; -- 2 -- procedure ZMIEN_SAM(p_marka varchar2, p_mnoznik number) is begin update samochody set samochody.koszt_dnia * p_mnoznik where samochody.marka = p_marka; end; -- 3 -- procedure USUN_KLI(p_id number) is begin delete from klienci where klienci.id_kli = p_id; end; -- 4 -- procedure ZMIEN_ADRES(p_id number, p_miejscowosc varchar2, p_kod_pocztowy varchar2, p_ulica varchar2) is begin update klienci set klienci.miejscowosc = p_miejscowosc and klienci.kod_pocztowy = p_kod_pocztowy and klienci.ulica = p_ulica; end; -- 5 -- procedure LISTA(p_N number) is cursor kursor is select k.imie as imi, k.nazwisko as naz, k.miejscowosc as mie, k.kod_pocztowy as kod, k.ulica as uli, w.koszt as kos from klienci k, wypozyczenia w where k.id_kli = w.id_kli and rownum < N order by w.koszt desc; begin for rek in kursor loop dbms_output(rek.imi || ' ' || rek.naz || ' ' || rek.mie || ' ' || rek.kod || ' ' || rek.uli || ' ' || rek.kos); end loop; end; end; ------------------------------------------------------------------------------------- ZAD2 -- przy zalozeniu ze data jest wprowadzana jako ciag DDMMYY create or replace function(p_id_sam number, p_id_kli number, p_data_wyp string, p_data_zwr string, p_koszt number) return number is begin insert into wypozyczenia values (0, wypozyczenia.id_sam=p_id_sam, wypozyczenia.id_kli=p_id_kli, wypozyczenia.data_wyp=to_date(to_char(p_data_wyp),'DDMMYY'), wypozyczenia.data_zwr=to_date(to_char(p_data_zwr),'DDMMYY'), wypozyczenia.koszt=p.koszt); return 0; end; =========================================== DECLARE v_max_id NUMBER(5); BEGIN SELECT max(id_wypozyczenia) INTO v_max_id FROM wypozyczenia; EXECUTE IMMEDIATE 'CREATE SEQUENCE wyp_seq START WITH ' || to_char(v_max_id + 1) || ' INCREMENT BY 1'; END; CREATE OR REPLACE TRIGGER wyp_trig BEFORE INSERT ON wypozyczenia FOR EACH ROW WHEN (NEW.id_wypozyczenia IS NULL) BEGIN SELECT wyp_seq.NEXTVAL INTO :NEW.id_wypozyczenia FROM dual; END;

Wyszukiwarka

Podobne podstrony:
kolokwium nr 1 rozwiązanie Plichta
Rozwiazania Kolokwium nr 2
kartkówka nr 4 rozwiazanie
Kolokwium nr 1 zestawy przykładowe
Zadania domowe ISD kolokwium nr 22
przykladowe zadania na kolokwium nr 1? di 09
Kolokwia nr 1v2 B
Pytania z kolokwium nr 2 z Geologii Czwartorzędu Błażej (1)
kolokwium kolokwium nr 1 lab123 (2013)
Kolokwia nr 1v2 D
KOLOKWIUM NR 2 s V IPB, BKiI 2011 12 (01)
Kolokwium nr 2 2008 09
analiza 2 kolokwium nr 2 gr E H

więcej podobnych podstron