 |
www.polcz.fora.pl pcz
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Juro
Dołączył: 19 Paź 2008
Posty: 63
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 11:08, 09 Cze 2012 Temat postu: zadania zaliczenie |
|
|
Zadanie ze srednia arytmetyczna i ocenami
Kod: |
--desc adepci;
--desc przedmioty;
--desc oceny;
/*
select dla_kogo from oceny where z_przedmiotu in
(select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych');
*/
--select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych';
/*
select * from adepci where indeks in (
select dla_kogo from oceny where z_przedmiotu in
(select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych'));
*/
/*
create or REPLACE type TYP_OCENA as object
(
Ocena number(3,1),
Przedmiot VARCHAR2(30)
)
*/
--create or replace type KOL_OCENY as TABLE of TYP_OCENA
/*
create or replace type TYP_ADEPT as object
(
INDEKS number(5),
NAZWISKO_IMIE VARCHAR(30),
KIERUNEK VARCHAR(30),
LISTA_OCEN KOL_OCENY,
MEMBER FUNCTION SR_OCEN RETURN NUMBER
)
*/
/*
create or replace type body TYP_ADEPT as
MEMBER FUNCTION SR_OCEN RETURN NUMBER
IS
I NUMBER;
suma NUMBER:=0;
BEGIN
FOR I in 1..LISTA_OCEN.COUNT LOOP
suma:=suma+LISTA_OCEN(I).OCENA;
END LOOP;
if LISTA_OCEN.COUNT>0 then RETURN suma/LISTA_OCEN.COUNT; ELSE return 0; end if;
end SR_OCEN;
end;
*/
/*
create or REPLACE view VIEW_ADEPCI of TYP_ADEPT
with object identifier(INDEKS)
as
select INDEKS,NAZWISKO_IMIE,KIERUNEK,cast(multiset(
select TYP_OCENA(o.OCENA,p.NAZWA) from oceny o join przedmioty p on
o.z_przedmiotu=p.kod where o.dla_kogo= a.indeks)
as KOL_OCENY)
from adepci a;
*/
select a.INDEKS, a.nazwisko_imie, a.lista_ocen from view_adepci a
where a.SR_OCEN()>4; |
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
 |
pawmar
Dołączył: 27 Lut 2010
Posty: 50
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 12:31, 11 Cze 2012 Temat postu: |
|
|
Zadanie z funkcją DO_ZAPLATY, obliczającą sumę za zakupione towary:
Kod: |
CREATE OR REPLACE TYPE T_TOWAR AS OBJECT(
NAZWA VARCHAR2(20),
ILOSC NUMBER(3),
CENA NUMBER(8,1)
);
/
CREATE OR REPLACE TYPE T_TOWARY AS TABLE OF T_TOWAR;
/
CREATE OR REPLACE TYPE LISTA_KLIENTOW AS OBJECT(
NIP VARCHAR2(5),
NAZWISKO VARCHAR2(25),
LISTA_TOWAROW T_TOWARY,
MEMBER FUNCTION DO_ZAPLATY RETURN NUMBER
);
/
CREATE OR REPLACE TYPE BODY LISTA_KLIENTOW AS
MEMBER FUNCTION DO_ZAPLATY RETURN NUMBER
IS
I NUMBER;
SUMA NUMBER := 0;
BEGIN
FOR I IN 1..LISTA_TOWAROW.COUNT LOOP
SUMA := SUMA + LISTA_TOWAROW(I).ILOSC * LISTA_TOWAROW(I).CENA;
END LOOP;
RETURN SUMA;
END DO_ZAPLATY;
END;
/
CREATE OR REPLACE VIEW VIEW_KLIENCI OF LISTA_KLIENTOW
WITH OBJECT IDENTIFIER(NIP)
AS
SELECT NIP, NAZWISKO, CAST(MULTISET(
SELECT T_TOWAR(F.TOWAR, F.ILOSC, F.CENA) FROM FAKTY_KUPNA F JOIN TOWAR T ON F.TOWAR=T.KOD WHERE F.KLIENT=K.NIP
)
AS T_TOWARY)
FROM KLIENCI K;
/ |
Kto pamięta niech napisze treść funkcji jakie mieliście do napisania. Pzdr
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
|