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 W8BD 2st 1 2 w01 tresc 1 1BDbdO cw4bd1Ćw4 Instrukcje CASE i IFBD V600 L3 C A3 V1[1] 1 id 2157 NieznanyBD Lab Tabcw4bd(1)BD Bead Embroideryelemety kontroli uzytkownika bdall cw4Świt dalszy ciąg BD Rozdział 6więcej podobnych podstron