Sei sulla pagina 1di 21

Problema p1 II.

Rezolvare comand:
a) CREATE TABLE tranzactii( id NUMBER(5,0) CONSTRAINT tranzactii_id_pk PRIMARY KEY, data VARCHAR2(10), nume VARCHAR2(50), tip_operatie VARCHAR2(9) CONSTRAINT tranzactii_tip_ck CHECK (tip_operatie IN ('cumparare','vanzare')), tip_valuta VARCHAR2(5) CONSTRAINT tranzactii_valuta_ck CHECK (tip_valuta IN ('dolar','euro')), suma NUMBER(12,2)) CREATE TABLE cursuri_valutare( data VARCHAR2(10) CONSTRAINT cursuri_data_pk PRIMARY KEY, cump_euro NUMBER(6,2), vanz_euro NUMBER(6,2), cump_dolar NUMBER(6,2), vanz_dolar NUMBER(6,2)) INSERT INTO tranzactii(id,data,nume,tip_operatie,tip_valuta,suma) VALUES (1,SYSDATE,'Popescu','cumparare','euro',1200) INSERT INTO cursuri_valutare(data,cump_euro,vanz_euro,cump_dolar,vanz_dolar) VALUES (SYSDATE,3.17,4.15,2.03,3.76) SELECT * FROM tranzactii WHERE data like SYSDATE AND tip_operatie='cumparare' AND suma>:s b) INSERT INTO tranzactii (id,data,nume,tip_operatie,tip_valuta,suma) VALUES (:id,:data,:nume,:tipo,:tipv,:suma); SELECT * FROM tranzactii c) SELECT t.data,TRUNC(SUM(t.suma/c.vanz_euro),2) "Vanzare euro" FROM tranz t,cursuri_valutare c WHERE tip_operatie='cumparare' AND tip_valuta='euro' AND t.data=c.data GROUP BY t.data SELECT t.data,TRUNC(SUM(t.suma/c.cump_euro),2) "Cumparare euro" FROM tranz t,cursuri_valutare c WHERE tip_operatie='vanzare' AND tip_valuta='euro' AND t.data=c.data GROUP BY t.data

Problema p2 II. Rezolvare comand:


a) CREATE TABLE persoane( id NUMBER(4,0) CONSTRAINT persoane_id_pk PRIMARY KEY, nume VARCHAR2(50), sex VARCHAR2(1), varsta NUMBER(2,0) CONSTRAINT persoane_varsta_ck CHECK (varsta>16), profesie VARCHAR2(30), salariu_dorit NUMBER(6,0)) CREATE TABLE locuri_munca( id NUMBER(5,0) CONSTRAINT locuri_id_pk PRIMARY KEY, companie VARCHAR2(30), profesie VARCHAR2(30), salariu_oferit NUMBER(6,0)) INSERT INTO persoane(id,nume,sex,varsta,profesie,salariu_dorit) VALUES(1,'Popescu','F',30,'inginer',2150) INSERT INTO locuri_munca(id,companie,profesie,salariu_oferit) VALUES (1,'SC Impex SRL','inginer',2200) SELECT * FROM persoane WHERE sex='F' and profesie=:profesia b) INSERT INTO persoane(id,nume,sex,varsta,profesie,salariu_dorit) VALUES (:id,:nume,:sex,:varsta,:profesie,:salariu_dorit) SELECT * FROM persoane c) SELECT p.nume, p.sex, p.varsta, p.profesie,p.salariu_dorit FROM persoane P, locuri_munca l WHERE p.profesie=l.profesie AND (p.salariu_dorit=NULL OR p.salariu_dorit<= l.salariu_oferit)

Problema p3 II. Rezolvare comand:


a) CREATE TABLE locuri( nr_tren VARCHAR2(15) CONSTRAINT locuri_nr_pk PRIMARY KEY, data DATE, locuri_clsI NUMBER(3,0), locuri_clsII NUMBER(3,0)) CREATE TABLE bilete( nr_bilet VARCHAR2(20) CONSTRAINT bilete_nr_pk PRIMARY KEY, nr_tren VARCHAR2(15) NOT NULL CONSTRAINT bilete_nr_fk REFERENCES locuri(nr_tren) ON DELETE CASCADE, data_emiterii DATE, clasa VARCHAR2(2), pret NUMBER(6,2)) INSERT INTO locuri(nr_tren,data,locuri_clsI,locuri_clsII) VALUES ('1','09-04-2010',48,336) INSERT INTO bilete(nr_bilet,nr_tren,data_emiterii,clasa,pret) VALUES (1,'1','06-04-2010','I',135) INSERT INTO bilete(nr_bilet,nr_tren,data_emiterii,clasa,pret) VALUES (:numar_bilet,:numar_tren,:data,:clasa,:pret) UPDATE locuri SET locuri_clsI=locuri_clsI-1 WHERE nr_tren='1' Observaie: dup SET se va scrie coloana locuri_clsI dac biletul este pentru clasa I sau locuri_clsII dac biletul este pentru clasa II, iar ca valoare la numrul trenului se va scrie numrul trenului introdus de la tastatur b) SELECT * FROM bilete WHERE clasa='I' ORDER BY data_emiterii c) SELECT SUM(pret) Incasari FROM bilete WHERE to_number(substr(to_char(data_emiterii),4,2))=:luna

Problema p4 II. Rezolvare comand:


a) CREATE TABLE deponenti( cnp VARCHAR2(13) CONSTRAINT deponenti_cnp_pk PRIMARY KEY, nume VARCHAR2(20), prenume VARCHAR2(30), adresa VARCHAR2(80)) CREATE TABLE depuneri( id NUMBER(5,0) CONSTRAINT depuneri_id_pk PRIMARY KEY, cnp VARCHAR2(13) NOT NULL CONSTRAINT depuneri_cnp_fk REFERENCES deponenti(cnp) ON DELETE CASCADE, suma_depusa NUMBER(12,2), dobanda NUMBER(4,2), termen NUMBER(2,0) CONSTRAINT depuneri_termen_ck CHECK (termen IN (12,24,36))) INSERT INTO deponenti(cnp,nume,prenume,adresa) VALUES (2800404345267,'Popescu','Maria','Florilor 2/3 Baia Mare') INSERT INTO depuneri(id,cnp,suma_depusa,dobanda,termen) VALUES (1,'2800404345267',1020,5,24) b) SELECT * FROM deponenti WHERE cnp IN (SELECT cnp FROM depuneri WHERE suma_depusa>:suma) ORDER BY nume,prenume c) SELECT SUM(suma_depusa) "Total suma" FROM depuneri WHERE termen=24

Problema p5 II. Rezolvare comand:


a) CREATE TABLE pacienti( cnp VARCHAR2(13) CONSTRAINT pacienti_cnp_pk PRIMARY KEY, nume VARCHAR2(50), adresa VARCHAR2(70), loc_munca VARCHAR2(70)) CREATE TABLE consultatii( nr_consultatie NUMBER(6,0) CONSTRAINT consultatii_nr_pk PRIMARY KEY, data DATE, diagnostic VARCHAR2(80), cnp VARCHAR2(13) NOT NULL CONSTRAINT consultatii_cnp_fk REFERENCES pacienti(cnp) ON DELETE CASCADE) b) INSERT INTO pacienti(cnp,nume,adresa,loc_munca) VALUES (2800303123452,'Popescu Ion','Macului 3 Baia Mare','SC Pop SRL') INSERT INTO consultatii(nr_consultatie,data,diagnostic,cnp) VALUES (1,'02-01-2010','Gripa',2800303123452) c) SELECT * FROM consultatii WHERE cnp IN (SELECT cnp FROM pacienti WHERE nume='Popescu Ion')

Problema p6 II. Rezolvare comand:


a) CREATE TABLE cazari( nr_loc NUMBER(5,0) CONSTRAINT cazari_nr_pk PRIMARY KEY, tip_loc VARCHAR2(40), pret NUMBER(10,2)) CREATE TABLE persoane( cnp VARCHAR2(13) CONSTRAINT persoane_cnp_pk PRIMARY KEY, nume VARCHAR2(50), data_sosirii DATE, nr_nopti_cazare NUMBER(2,0), nr_loc NUMBER(5,0) NOT NULL CONSTRAINT persoane_nr_fk REFERENCES cazari(nr_loc) ON DELETE CASCADE) b) INSERT INTO cazari(nr_loc,tip_loc,pret) VALUES (1,'hotel 2*',100) INSERT INTO persoane(cnp,nume,data_sosirii,nr_nopti_cazare,nr_loc) VALUES (2741003240104,'Popescu','09-04-2010',10,1) c) SELECT * FROM cazari WHERE nr_loc IN (SELECT nr_loc FROM persoane WHERE TO_CHAR(data_sosirii)=TO_CHAR(SYSDATE) OR TO_CHAR(data_sosirii+nr_nopti_cazare)=TO_CHAR(SYSDATE))

Problema p7 II. Rezolvare comand:


a) CREATE TABLE produse( cod_produs VARCHAR2(30) CONSTRAINT produse_cod_pk PRIMARY KEY, denumire VARCHAR2(70), um VARCHAR2(20), cantitate NUMBER(6,0), pret_unitar NUMBER(10,2)) INSERT INTO produse(cod_produs,denumire,um,cantitate,pret_unitar) VALUES (1,'Faina','kg',1400,1.39) b) SELECT * FROM produse WHERE cantitate>100 ORDER BY denumire c) SELECT SUM(cantitate*pret_unitar) "Valoare stoc" FROM produse

Problema p8 II. Rezolvare comand:


a) CREATE TABLE persoane( id_pers NUMBER(3,0) CONSTRAINT persoane_id_pk PRIMARY KEY, nume VARCHAR2(50), data_nasterii DATE, domiciliul VARCHAR2(50), tel_fix VARCHAR2(10), tel_mobil VARCHAR2(10)) INSERT INTO persoane(id_pers,nume,data_nasterii,domiciliul,tel_fix,tel_mobil) VALUES (1,'Popescu','09-04-1978','Baia Mare','0362345621','0742346523') b) SELECT COUNT(id_pers) "Nr persoane" FROM persoane WHERE TRUNC(MONTHS_BETWEEN(SYSDATE,data_nasterii))=MONTHS_BETWEEN(SYSDATE,data_n asterii) Sau SELECT COUNT(id_pers) "Nr persoane" FROM persoane WHERE SUBSTR(TO_CHAR(data_nasterii),1,5)=SUBSTR(TO_CHAR(SYSDATE),1,5) c) SELECT nume,tel_fix,tel_mobil FROM persoane WHERE domiciliul=:localitate and substr(nume,1,1)='L'

Problema p9 II. Rezolvare comand:


a) CREATE TABLE departamente( id_departament NUMBER(3,0) CONSTRAINT departamente_id_pk PRIMARY KEY, denumire VARCHAR2(50), etaj NUMBER(3,0)) CREATE TABLE angajati( id_angajat NUMBER(5,0) CONSTRAINT angajati_id_pk PRIMARY KEY, id_departament NUMBER(3,0) NOT NULL CONSTRAINT angajati_id_fk REFERENCES departamente(id_departament) ON DELETE CASCADE, nume VARCHAR2(50), salariul NUMBER(6,0)) INSERT INTO departamente(id_departament,denumire,etaj) VALUES (1,'IT',4) INSERT INTO angajati(id_angajat,id_departament,nume,salariul) VALUES (1,1,'Popescu',12345) b) SELECT * FROM angajati WHERE salariul<:valoare c) SELECT * FROM angajati WHERE id_departament IN (SELECT id_departament FROM departamente WHERE etaj=4)

Problema p10 II. Rezolvare comand:


a) CREATE TABLE furnizori( id_furnizor NUMBER(3,0) CONSTRAINT furnizori_id_pk PRIMARY KEY, denumire VARCHAR2(40), oras VARCHAR2(30)) CREATE TABLE comenzi( id_comanda NUMBER(3,0) CONSTRAINT comenzi_id_pk PRIMARY KEY, id_furnizor NUMBER(3,0) NOT NULL CONSTRAINT comenzi_id_fk REFERENCES furnizori(id_furnizor) ON DELETE CASCADE, valoare NUMBER(20,0)) INSERT INTO furnizori(id_furnizor,denumire,oras) VALUES (1,'Brutaria Baia Sprie','Baia Sprie') INSERT INTO comenzi(id_comanda,id_furnizor,valoare) VALUES (1,1,1000000) b) SELECT id_furnizor,denumire FROM furnizori WHERE oras='Baia Mare' c) SELECT * FROM furnizori WHERE id_furnizor IN (SELECT id_furnizor FROM comenzi GROUP BY id_furnizor HAVING SUM(valoare)>:valoare)

Problema p11 II. Rezolvare comand:


a) CREATE TABLE clase( id_clasa NUMBER(2,0) CONSTRAINT clase_id_pk PRIMARY KEY, profil VARCHAR2(30), sala NUMBER(2,0), etaj NUMBER(1,0)) CREATE TABLE elevi( id_elev NUMBER(3,0) CONSTRAINT elevi_id_pk PRIMARY KEY, nume VARCHAR2(50), id_clasa NUMBER(2,0) NOT NULL CONSTRAINT elevi_id_fk REFERENCES clase(id_clasa) ON DELETE CASCADE) INSERT INTO clase(id_clasa,profil,sala,etaj) VALUES(1,'Informatica',20,1) INSERT INTO elevi(id_elev,nume,id_clasa) VALUES (1,'Popescu',2) b) SELECT id_clasa,profil,sala FROM clase WHERE etaj=:etaj c) SELECT nume FROM elevi WHERE id_clasa IN (SELECT id_clasa FROM clase WHERE profil='Informatica') ORDER BY nume

Problema p12 II. Rezolvare comand:


a) CREATE TABLE persoane( id_pers NUMBER(5,0) CONSTRAINT persoane_id_pk PRIMARY KEY, nume VARCHAR2(25), prenume VARCHAR2(40), localitate VARCHAR2(40)) CREATE TABLE masini( id_masina NUMBER(5,0) CONSTRAINT masini_id_pk PRIMARY KEY, marca VARCHAR2(50), id_pers NUMBER(5,0) NOT NULL CONSTRAINT masini_id_fk REFERENCES persoane(id_pers) ON DELETE CASCADE) INSERT INTO persoane(id_pers,nume,prenume,localitate) VALUES (1,'Popescu','Ion','Baia Mare') INSERT INTO masini(id_masina,marca,id_pers) VALUES (1,'Logan',1) b) SELECT nume, prenume FROM persoane WHERE id_pers NOT IN (SELECT id_pers FROM masini) c) SELECT marca FROM masini NATURAL JOIN persoane p WHERE p.nume=:nume_persoana and p.prenume=:prenume_persoana

Problema p13 II. Rezolvare comand:


a) CREATE TABLE tari( cod NUMBER(6,0) CONSTRAINT tari_cod_pk PRIMARY KEY, denumire VARCHAR2(50), continent VARCHAR2(20), capitala VARCHAR2(40), nr_locuitori NUMBER(10,0)) INSERT INTO tari(cod,denumire,continent,capitala,nr_locuitori) VALUES (1,'Romania','Europa','Bucuresti',21680974) b) SELECT COUNT(cod) "Numar tari" FROM tari WHERE continent=:nume_continent c) SELECT denumire,capitala FROM tari ORDER BY nr_locuitori DESC

Problema p14 II. Rezolvare comand:


a) CREATE TABLE scoli( cod NUMBER(10) CONSTRAINT scoli_cod_pk PRIMARY KEY, denumire VARCHAR2(40), localitate VARCHAR2(30), nivel VARCHAR2(9) CONSTRAINT scoli_nivel_ck CHECK(nivel in ('primar','gimnazial','liceal','sam')), nr_clase NUMBER(3), nr_elevi NUMBER(7)) INSERT INTO scoli(cod,denumire,nivel,localitate,nr_clase,nr_elevi) VALUES(2,'gheorghe sincai','liceal','baia mare',32,1004) b) CREATE TABLE copie_scoli AS (SELECT cod,localitate,denumire,nivel,nr_clase,nr_elevi FROM scoli WHERE localitate='Baia Mare') c) SELECT SUM(nr_elevi) FROM scoli WHERE nivel=:n

Problema p15 I. Rezolvare interactiv:


- doar prima cerin se poate rezolva interactiv (vezi modalitatea de creare a tabelului i de inserare a valorilor la problema 18)

II. Rezolvare comand:


a) CREATE TABLE persoane( cnp VARCHAR2(13) constraint persoane_cnp_pk PRIMARY KEY, nume VARCHAR2(50), data_nasterii DATE, cod_acces VARCHAR2(20)) INSERT INTO persoane(cnp,nume,data_nasterii,cod_acces) VALUES (1780312456231,'Popescu',12/03/1978,'123asd') b) SELECT COUNT(cnp) "Numar femei" FROM persoane WHERE substr(cnp,1,1)=2 c) SELECT nume,cod_acces FROM persoane WHERE to_number(substr(to_char(data_nasterii),instr(to_char(data_nasterii),'-',1,2)+1,4))=:an Sau SELECT nume,cod_acces FROM persoane WHERE to_number(substr(to_char(data_nasterii),length(to_char(data_nasterii))-3,4))=:an

Problema p16 I. Rezolvare interactiv:


- doar prima cerin se poate rezolva interactiv (vezi modalitatea de creare a tabelului i de inserare a valorilor la problema 18)

II. Rezolvare comand:


a) CREATE TABLE soferi( cnp NUMBER(13,0) CONSTRAINT soferi_cnp_pk PRIMARY KEY, nume VARCHAR2(30), localitate VARCHAR2(40), data_eliberare DATE) CREATE TABLE amenzi( cod NUMBER(10) CONSTRAINT amenzi_cod_pk PRIMARY KEY, cnp NUMBER(13) NOT NULL CONSTRAINT amenzi_cnp_fk REFERENCES soferi(cnp) ON DELETE CASCADE, valoare_amenda NUMBER(10,2) CONSTRAINT amenzi_vl_amd_ck CHECK (valoare_amenda>0)) b) INSERT INTO soferi(cnp,nume,localitate,data_eliberare) VALUES (1900213242321,'Ionescu','Baia Mare','17/02/2008') INSERT INTO amenzi(cod,cnp,valoare_amenda) VALUES (1,1900213242321,200) c) SELECT COUNT(cod) "Numar amenzi" FROM amenzi a,soferi s WHERE a.cnp=s.cnp AND s.localitate=:loc Sau SELECT COUNT(cod) "Numar amenzi" FROM soferi NATURAL JOIN amenzi WHERE soferi.localitate=:loc Sau SELECT COUNT(cod) "Numar amenzi" FROM soferi s NATURAL JOIN amenzi a WHERE s.localitate=:loc

Problema p17 I. Rezolvare interactiv:


- doar prima cerin se poate rezolva interactiv (vezi modalitatea de creare a tabelului i de inserare a valorilor la problema 18)

II. Rezolvare comand:


a) CREATE TABLE cantoane( seria NUMBER(4) CONSTRAINT cantoane_seria_pk PRIMARY KEY, suprafata NUMBER(10), gestionar VARCHAR2(40), teren_vanatoare VARCHAR2(2) CONSTRAINT cantoane_teren_ck CHECK (teren_vanatoare IN ('da','nu'))) INSERT INTO cantoane(seria,suprafata,gestionar,teren_vanatoare) VALUES(3,200,'Vladescu','da') b) SELECT SUM(suprafata) "Suprafata totala" FROM cantoane WHERE teren_vanatoare='da' c) GRANT UPDATE(teren_vanatoare) ON cantoane TO ro_3613_sql01_s01

Problema 18 I. Rezolvare interactiv:


- click SQLWorkshop - click Object Browser - click pe lista derulant de la Create (butonul din partea dreapt) - click Table - Table name: se introduce numele tabelului (majuscule, la plural) PESTI - Column name: se introduce numele coloanei (Id) - Type: se alege tipul de date ale datelor introduse n coloana respectiv (Number; Precision 3, Scale 0, se bifeaz Not Null) - se repet pentru fiecare coloan n parte (alegndu-se tipul de date corespunztor, dac se dorete ca ntr-o coloan s nu existe valori nule se va bifa pt coloana respectiv Not Null) - click Next - click No Populated - Primary Key Contraint Name: se introduce numele constrngerii pentru cheie primar PESTI_ID_PK - din lista derulant Primary Key se alege Id - click Next - click Next - click Finish - click Create - click Data - click Insert Rows - se introduc datele - click Create and Create Another pn s-au introdus 5 nregistrri; cnd s-a introdus i a 5-a nregistrare nu se mai d click pe Create and Create Another, ci pe butonul Create - a doua cerin nu se poate realiza interactiv - click Grants - click Grant - Grantee: se scrie utilizatorul - din lista derulant Grant se alege Specific privileges - click INSERT - se bifeaz comutatorul Yes de la With Grant Options - click Next - click Finish

II. Rezolvare comand:


a) CREATE TABLE pesti( id NUMBER(3) CONSTRAINT pesti_id_pk PRIMARY KEY, specia VARCHAR2(30), nr_exemplare NUMBER(5), sfarsit_proh DATE) INSERT INTO pesti(id,specia,nr_exemplare,sfarsit_proh) VALUES (3,'pastruga',150,'13/05/2010') b) SELECT COUNT(specia) Nr_specii FROM pesti WHERE sfarsit_proh<sysdate c) GRANT INSERT ON pesti TO XXX WITH GRANT OPTION Observaie: se nlocuiete XXX cu un utilizator real, altfel se genereaz eroare

Problema p19 II. Rezolvare comand:


a) CREATE TABLE cursuri( id NUMBER(3,0) CONSTRAINT cursuri_id_pk PRIMARY KEY, denumire VARCHAR2(30), data_finalizare DATE) CREATE TABLE angajati( marca NUMBER(3,0) CONSTRAINT angajati_marca_pk PRIMARY KEY, nume VARCHAR2(50), salariul NUMBER(10,2), id NUMBER(3,0) CONSTRAINT angajati_id_fk REFERENCES cursuri(id) ON DELETE CASCADE) INSERT INTO cursuri(id,denumire,data_finalizare) VALUES (1,'Utilaje automatizate','02-04-2010') INSERT INTO angajati(marca,nume,salariul,id) VALUES (1,'Popescu',1200,1) b) SELECT * FROM (SELECT a.nume,c.data_finalizare FROM angajati a,cursuri c WHERE a.id=c.id ORDER BY c.data_finalizare DESC) WHERE rownum=1 c) REVOKE UPDATE ON angajati FROM COSTEL REVOKE UPDATE ON cursuri FROM PUBLIC Observaie: trebuie acordate mai nti drepturile respective, altfel se va genera o eroare care va spune c nu pot fi revocate drepturi care nu au fost acordate. GRANT UPDATE ON angajati TO COSTEL GRANT UPDATE ON cursuri TO COSTEL

Problema p20 I. Rezolvare interactiv:


- click SQLWorkshop - click Object Browser - click pe lista derulant de la Create (butonul din partea dreapt) - click Table - Table name: se introduce numele tabelului (majuscule, la plural) CLIENTI - Column name: se introduce numele coloanei (Id) - Type: se alege tipul de date ale datelor introduse n coloana respectiv (Number; Precision 4, Scale 0, se bifeaz Not Null) - se repet pentru fiecare coloan n parte (alegndu-se tipul de date corespunztor, dac se dorete ca ntr-o coloan s nu existe valori nule se va bifa pt coloana respectiv Not Null) - click Next - click No Populated - Primary Key Contraint Name: se introduce numele constrngerii pentru cheie primar CLIENTI_ID_PK - din lista derulant Primary Key se alege Id - click Next - click Next - click Finish - click Create - click Contraints - click Create (de la Contraints) - Contraint Name: se introduce numele constrngerii: CLIENTI_TEL_CK - Contraint Type: Check - Constraint on Colomn: se alege coloana asupra creia se realizeaz constrngerea - TEL - Constraint Expression: IN (Da,Nu) Obs. Da i Nu sunt case sensitive - click Next - click Finish - la fel pentru coloana Internet (numele constrngerii CLIENTI_INTERNET_CK) - click Data - click Insert Rows - se introduc datele - click Create and Create Another pn s-au introdus 5 nregistrri; cnd s-a introdus i a 5-a nregistrare nu se mai d click pe Create and Create Another, ci pe butonul Create - click Query - click Check all - din prima list derulant Order by se alege Nume - click Query Ultima cerin nu se poate realiza n modul interactiv. Se pot acorda doar drepturi pentru ntreg tabelul - click Grants - click Grant - Grantee: se scrie PUBLIC - din lista derulant Grant se alege Specific privileges - click UPDATE - click Next - click Finish

II. Rezolvare comand:


a) CREATE TABLE clienti( id NUMBER(3) CONSTRAINT clienti_id_pk PRIMARY KEY, nume VARCHAR2(50),

nr_contract VARCHAR2(15), tel VARCHAR2(2) CONSTRAINT clienti_tel CHECK(tel in (Da, Nu)), internet VARCHAR2(2) CONSTRAINT clienti_internet CHECK(internet IN (Da,Nu)) INSERT INTO clienti(id, nume, nr_contract, tel, internet) VALUES (1,Popa,123sd,Da,Nu) se mai introduc astfel nc 4 nregistrri b) SELECT * FROM clienti ORDER BY nume c) GRANT UPDATE(tel,internet) ON clienti TO PUBLIC;

Potrebbero piacerti anche