Sunteți pe pagina 1din 1

O singura tabela are urmatoarele

proprietati: Nu exista randuri


duplicate; Nu exista nume de Functii numerice si pe caracter TO_CHAR(numar/data,{'fmt'})
coloana duplicate; Ordinea LOWER(col/value) :forteaza converteste numar sau data la caractere
caracterele alfa care sunt scrise cu in format 'fmt'. TO_NUMBER(char)
randurilor este neimportanta ;
litere mari sau mixte in caractere converteste 'char' care contine un numar
Ordinea coloanalor este scrise cu litere mici.
neimportanta ; Valorile sunt in 'NUMBER'. TO_DATE('char','fmt')
UPPER(col/value) :forteaza converteste valoarea 'char' reprezentind o
atomice(nedecompozabile). caracterele alfa care sunt scrise cu
data calendaristica, intr-o valoare data in
litere mici , sau o combinatie de litere
mici si mari in caractere scrise cu felul 'fmt' specificat. Daca fmt e omis ,
Proprietati ale bazelor de date litere mari. INITCAP(col/value) formatul e DD-MON-YY.
relationale: O baza de date forteaza prima litera a fiecarui cuvint
relationala apare ca o colectie de in litera mare CONCAT(char
relatii(tabele) catre utilizator; 1,char2) intoarce char1 concatenat cu Exemple:
Formatul coloanei/randului este char2 (Alternativa a operatorului ||) @insert into Registrul_clientilor (cod)
familiar si usor pentru vizualizarea Functiile LPAD si RPAD aduc sirurile values(1);
datelor; Exista o multime de de caractere la o lungime specificata. @select * from Registrul_modelului;
operatori pentru partitionarea si LPAD(col/value,n,'string') adauga la @select cod_model,model,pret from
combinarea relatiilor (selectia, coloana sau la valoarea literala spre Registrul_modelului;
proiectia,produsul,joinul,uniunea, stinga pina la lungimea totala n. @select * from Registrul_modelului
intersectia, diferenta); Nu sunt Primele spatii sunt umplute cu 'string'. order by cod_model asc;
Daca 'string' e omis atunci sunt @select *from Registrul_clientilor
pointeri expliciti;conexiunile sunt
umplute cu blancuri. where nume like '%a';
facute numai pe baza datelor;
RPAD(col/value,n,'string') adauga la @select cod,fam||' '||nume||' ' ||patronimic
Limbajul utilizat pentru interogarea coloana sau la valoarea literala spre
bazei de date este non-procedural si client from Registrul_clientilor order by
dreapta pina la lungimea totala n.
similar limbii engleze; Utilizatorul cod asc;
Ultimele pozitii sunt umplute cu
nu specifica calea de acces si nu are @select distinct nr_usi from
'string' sau daca acesta e omis cu
nevoie sa stie cum este informatia blancuri. UBSTR(col/value,pos,n) Registrul_modelului ;
aranjata fizic; Comenzile pentru intoarce un string de n caractere @update Registrul_clientilor set
refacerea datelor si acelea pentru lungime dintr-o coloana sau valoare nume='Janna' where cod=2;
realizarea schimbarilor in baza de literala , incepind de la pozitia pos. @ delete from Registrul_clientilor where
date sunt incluse intr-un singur Daca n e omis, e extras sirul din cod=13;
limbaj SQL; Exista o independenta pozitia pos la sfirsit. @alter table Registrul_clientilor add d
totala a datelor. INSTR(col/value,'string') gaseste date;
pozitia caracterului in care apare @alter table Registrul_clientilor drop
prima data 'string'. column d;
Optiuni Oracle Server Optiunea INSTR(col/value,'string',pos,n) @ alter table Registrul_clientilor add
procedurala: Asigura un "motor" gaseste pozitia caracterului pentru a n- constraint Pk_cod1 Primary key (cod);
PL/SQL versiunea 2 in interiorul a aparitie a lui string in coloana sau @select model,culoare, nr_usi,pret,
valoarea literala incepind din pozitia
serverului Oracle,care are bilitatea fam,nume,adresa,telefon from
pos. LTRIM(col/value,'char/s') sterge
de a stoca proceduri b.d.,functii si de la stinga prima aparitie a
Registrul_modelului Rm
mecanismе de siguranta pentru caracterului specificat(sau o ,Registrul_clientilor Rc where
utilizarea de catre aplicatii; combinatie a caracterelor specificate). Rm.cod_model=Rc.cod_legatura;
Optiunea distribuita: Suporta Daca nu e specificat nici un caracter @select model, culoare, pret from
tranzactii care actualizeaza sterge toate blancurile din stinga. Registrul_modelului where pret=(select
informatia din mai multe baze de RTRIM(col/value,'char/s') sterge de la max(pret) from Registrul_modelului );
date dintr-o retea de baze de date dreapta, aparitiile lui char (sau @ select model, pret, nr_usi from
distribuita,utilizand executia in combinatie de caractere spe- Registrul_modelului where pret in (select
doua faze; Paralel Server Option: cificate) .Daca nu e specificat 'char/s' min(pret) from Registrul_modelului
Suporta sisteme cuplate liber; atunci sterge blancurile. group by nr_usi);
Oracle de incredere ("Trusted LENGTH(col/value) intoarce numarul @ create view Registru_clienti as select
Oracle") :Pune la dispozitie o de caractere(sau digiti) din coloana * from Registrul_clientilor with read
sau din valoarea literala.
multime de facilitati aditionale de only;
TRANSLATE(col/value,from,to)
inalta securitate. @ select model,max(pret) from
translateaza la iesire caracterele 'from'
la cele 'to'.Mai mult de un caracter , Registrul_modelului group by model
se poate potrivi. Toate operatiile lui having max(pret)>2000 order by
'from' sunt inlocuite de corespondentul max(pret);
din 'to'. Daca caracterul corespunzator @ Returneaza pretul pentru modelul cu
din 'to'nu e rezervat , caracterul din codul dat
'from'e sters(vezi functiile imbricate). create or replace function F1(nr in
ROUND(col/value,n)rotujeste coloana number)
, expresie sau valoare la n zecimale. return number
Daca n e omis nu are zecimale , daca is n1 number;
e negativ , numarul din stinga begin
punctului zecimal e rotunjit. select pret into n1 from
TRUNC(col/value,n) Registrul_modelului where cod_model=
trunchiaza coloana sau valoarea la n
nr;
zecimale, sau daca nu e om is , fara
zecimale. Daca n e negativ , numarul
return(n1);
din stinga punctului zecimal e end F1
trunchiat la zero. CEIL begin
(col/value)gaseste cel mai mic intreg dbms_output.put_line(F1(10));
mai mare sau egal cu coloana,expresie end F
sau valoare. FLOOR (col/value) rezultatul: 579
gaseste cel mai mare intreg mai mic @ Schimba culoare pentru modelul cu
sau egal cu coloana expresie sau codul 10
valoare. POWER(col/value,n) ridica create or replace procedure P1(culoarea
coloana, expresia sau valoarea la in varchar2)
puterea n. Poate fi negativa. EXP(n) is i int ;
intoarce e ridicat la puterea n . begin
SQRT(col/value) gaseste radacina i:=10;
patrata a coloanei sau valorii. Daca
update Registrul_modelului set
col/value e NULL sau negativ atunci
e intors rezultatul NULL. culoare=culoarea where cod_model=i;
SIGN(col/value) intoarce -1 daca e commit;
coloana, expresie sau valoare e un nr. end P1
negativ , intoarce 0 daca e zero,+1 begin P1('auriu'); end P1
daca e nr.pozitiv. @ create or replace trigger t2 before
insert or update of culoare on
Registrul_modelului for each row
begin
:new.culoare:=upper(:new.culoare);
end;

S-ar putea să vă placă și