Documente Academic
Documente Profesional
Documente Cultură
CLASE UTILIZATE
SECTII
MEDICAMENT
DATE_NASTERE
ADRESA
PERSOANA
ANGAJAT
PACIENT
INTERNAT
TRATAMENT
TABELE UTILIZATE
SECTII
ANGAJATI
PACIENTI
INTERNATI
TRATAMENT
END; /
CNP NUMBER(13),
SECTIE NUMBER,
INTERNARE DATE,
EXTERNARE DATE,
MEMBER FUNCTION nr_zile_spitalizare RETURN NUMBER
);/
DEFINIRE METODA: nr_zile_spitalizare
CREATE OR REPLACE TYPE BODY INTERNAT AS
MEMBER FUNCTION nr_zile_spitalizare RETURN NUMBER IS
rezultat NUMBER:=0;
BEGIN
if(EXTERNARE is null) then
select to_date(SYSDATE,'mm/dd/yyyy') to_date(INTERNARE,'mm/dd/yyyy') into rezultat
from dual;
else
select to_date(EXTERNARE,'mm/dd/yyyy') to_date(INTERNARE,'mm/dd/yyyy') into rezultat
from dual;
end if;
RETURN rezultat;
END nr_zile_spitalizare;
END; /
);/
adr adresa,
CONSTRAINT pk_pacient2 PRIMARY KEY (pacie.cnp)
);
INSERARE DATE
insert into pacienti VALUES(
PACIENT('STANA','MADALINA','2920120189910','1','DA'),
DATE_NASTERE('BALS','ION','MARIA','04/05/1992'),
ADRESA('BALS','BALS','CHILIEI','OLT')
);/
insert into pacienti VALUES(
PACIENT('MUTULESCU','ION','1710120189910','1','DA'),
DATE_NASTERE('CRAIOVA','GHEORGHE','LAURA','04/05/1971'),
ADRESA('BALS','BALS','CHILIEI','OLT')
);/
insert into pacienti VALUES(
PACIENT('MUTULESCU','IOANA','2630120189910','1','NU'),
DATE_NASTERE('CRAIOVA','GHEORGHE','LAURA','04/05/1963'),
ADRESA('BALS','BALS','CHILIEI','OLT')
);/
insert into pacienti VALUES(
PACIENT('SPATARU','LARISA','2810120189910','1','NU'),
DATE_NASTERE('CRAIOVA','GHEORGHE','LAURA','04/05/1981'),
ADRESA('BALS','BALS','CHILIEI','OLT')
);/
INTEROGARI
Afisare sectii spital
select * from sectii_spital
Schimbare denumire pentru
sectia cu nr 1
UPDATE sectii_spital SET
DENUMIRE='MEDICINA
INTERNA I'
where sectii_spital.NR=1;
Afisare denumiri sectii
select p.get_denumire() as denumiri_sectii from sectii_spital p
p.ang.cnp as cnp,
p.ang.sectie as sectie, p.ang.vechime as vechime, p.ang.salariu as salariu,
p.nastere.loc as loc_nastere, p.nastere.numetata as tata, p.nastere.numemama as mama,
p.nastere.datanastere as data_nastere, p.adr.oras as oras,p.adr.comuna as comuna,
p.adr.strada as strada, p.adr.judet as judet
from angajati p
Afisare internari
select * from internati
Afisare nume
pacient si
denumirea sectiei
select p.pacie.nume as nume_pacient, p.pacie.prenume as prenume_pacient, s.denumire
as denumire_sectie
from pacienti p, sectii_spital s, internati i
where i.sectie=s.nr and p.pacie.cnp=i.cnp;
Afisare
medicamente si
denumirea sectie
de unde a fost
prescrise pentru
pacientul STANA MADALINA
select p.pacie.nume, p.pacie.prenume, s.denumire, t.med.nume, t.med.doza
from sectii_spital s, pacienti p, tratamente t
where s.nr=t.sectie and t.cnp=p.pacie.cnp and p.pacie.nume='STANA' and
p.pacie.prenume='MADALINA';
Afisarea nr de zile de
spitalizare pentru
pacientii care nu au
asigurare
select p.pacie.nume as nume, p.pacie.prenume as prenume , i.sectie, i.nr_zile_spitalizare()
as nr_zile
from internati i, pacienti p
where p.pacie.cnp=i.cnp and p.pacie.asigurat='NU';
Stergerea
inregistrarilor din tabela tratamente pentru pacientii care au fost externati
delete from tratamente t
where t.cnp in (select i.cnp from internati i where i.externare is not null)
and t.sectie in (select i.sectie from internati i where i.externare is not null)
Stergere tratament pentru pacientul MUTULESCU IONANA, sectia 3
delete from tratamente t
where t.cnp in (select i.cnp from internati i, pacienti p
where i.cnp=p.pacie.cnp and p.pacie.nume='MUTULESCU'
and p.pacie.prenume='IOANA')
and t.sectie='3';