BD cw4


create table klienci (
id_kl integer constraint klinenci_id primary key,
nazwa_kl varchar2(64) constraint klienci_nazwa not null,
adres_kl varchar2(64) constraint klienci_adres not null
);

table KLIENCI created.

create table Pozycja_zamowienia (
numer integer constraint pozycja_id primary key,
ilosc number(6,2) constraint pozycja_ilosc not null,
cena number(6,2) constraint pozycja_cena not null,
wartosc number(6,2) constraint pozycja_wartosc not null
);

table POZYCJA_ZAMOWIENIA created.

create table zamowienie (
id_zam integer constraint zamowienie_id primary key,
data_wyst date constraint zamowienie_data_wyst not null,
stan integer constraint zamowienie_stan not null,
zam_og number(6,2) constraint og_zamowienia not null
);

table ZAMOWIENIE created.

create table wyroby (
kod_wyr integer constraint wyr_kod primary key,
nazwa_wyr varchar2(64) constraint wyr_nazwa not null,
ilosc number(6,2) constraint ilosc_wyr not null,
dostepne number(6,2) constraint dostepne_wyr not null,
cena_jedn number(6,2) constraint jedn_cena not null
);

table WYROB created.

create function nowy_klient (nazwa varchar2, adres varchar2) return
integer is PRAGMA AUTONOMOUS_TRANSACTION;
id int;
begin
select klient_seq.nextval into id from dual;
insert into klienci values (id,nazwa,adres);
commit;
return id;
end;

FUNCTION nowy_klient compiled
No Errors.

create procedure usun_klientow(id integer) is
begin
delete from klienci where id_kl = id;
end;

PROCEDURE usun_klientow compiled
No Errors.

create or replace
type klient as object (
id_kl integer,
nazwa_kl varchar2(64),
adres varchar2(64)
);

TYPE klient compiled

create type zbior_klientow as table of klient;

TYPE zbior_klientow compiled

create or replace
function pokaz_klientow_p(pierwszy int, ile int)
return zbior_klientow as
k klient;
wynik zbior_klientow;
i int;
cursor c is select * from klienci
where id_kl >= pierwszy order by id_kl;
begin
i := ile;
wynik := zbior_klientow();
k := klient(null,null,null);
for dane_klienta in c
loop
if i <= 0 then exit; end if;
wynik.extend;
k.id_kl := dane_klienta.id_kl; k.nazwa_kl:=dane_klienta.nazwa_kl; k.adres:=dane_klienta.adres_kl;
wynik(wynik.count) := k;
i := i-1;
end loop;
return wynik;
end;

FUNCTION pokaz_klientow_p compiled

create or replace
function pokaz_klientow_t(ostatni int, ile int)
return zbior_klientow as
k klient;
wynik zbior_klientow;
i int;
cursor c is select * from klienci
where id_kl <= ostatni order by id_kl desc;
begin
i := ile;
wynik := zbior_klientow();
k := klient(null,null,null);
for dane_klienta in c
loop
if i <= 0 then exit; end if;
wynik.extend;
k.id_kl := dane_klienta.id_kl; k.nazwa_kl:=dane_klienta.nazwa_kl; k.adres:=dane_klienta.adres_kl;
wynik(wynik.count) := k;
i := i-1;
end loop;
return wynik;
end;

FUNCTION pokaz_klientow_t compiled

create or replace
function aktualizuj_dane_klienta (id_kl2 integer, nazwa_kl2 varchar2, adres2 varchar2)
return integer is
PRAGMA AUTONOMOUS_TRANSACTION;
cursor c is select * from klienci where id_kl=id_kl2;
begin
for dane_klienta in c
loop
dane_klienta.nazwa_kl:=nazwa_kl2;
dane_klienta.adres:=adres2;
exit;
end loop;
end;

FUNCTION aktualizuj_dane_klienta compiled


Wyszukiwarka

Podobne podstrony:
BD W8
BD 2st 1 2 w01 tresc 1 1
BD
bd
O cw4
bd1
Ćw4 Instrukcje CASE i IF
BD V600 L3 C A3 V1[1] 1 id 2157 Nieznany
BD Lab Tab
cw4
bd(1)
BD Bead Embroidery
elemety kontroli uzytkownika bd
all cw4
Świt dalszy ciąg BD Rozdział 6

więcej podobnych podstron