Sunteți pe pagina 1din 5

Tipuri de date in Oracle:

Tipul de date VARCHAR2 CHAR Descriere ir de caractere de lungime variabil ir de caractere de lungime fix Dimensiune Maxim 4000 bytes 2000 bytes

NUMBER(p,s)

DATE TIMESTAMP INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND CLOB BLOB BFILE

Numr avnd p cifre din care s la partea zecimal. (s negativ p (precizia) ntre 1 i !". reprezint numrul de cifre semnificative din faa punctului s (scala) ntre #"$ i 1%&. zecimal) 'e la 'at calendaristic 1 (anuarie $&1% )* pana la !1 'ecembrie+ 9999 ,'. -e mem.reaz data /raciunea de secund este calendaristic+ .ra+ minutul+ mem.rat cu . precizie de la secunda i fraciunea de secund 0 la 1. peri.ad de timp n ani i luni. mem.reaz un interval de timp n zile+ .re+ minute i secunde *2aracter 3arge 4b5ect $ 6igabytes )inary 3arge 4b5ect $ 6igabytes -e mem.reaz adresa unui fi ier $ 6igabytes binar de pe disc

Elemente de baz ale SQL


7.m prezenta f.arte pe scurt principalele elemente ce intr n c.mp.nena unei c.menzi -83.

ume
9.ate .biectele dintr#. baz de date+ tabele+ c.l.ane+ vizualizri+ indexi+ sin.nime+ etc+ au un nume. Numele p.ate fi .rice ir de maxim !0 de litere+ cifre i caracterele speciale: caracterul de subliniere (undersc.re !)+ diez (")+ i d.lar (#)+ primul caracter fiind .bligat.riu $ liter. ;vident numele unui .biect din baza de date trebuie s fie unic.

%u&inte rezer&ate
*a n .rice limba5+ i n -83 exist . list de cuvinte rezervate. ,cestea sunt cuvinte pe care nu le putei f.l.si cu alt sc.p+ ca de exemplu pentru denumirea tabelel.r v.astre.

%$nstante
4 c.nstant sau literal este . val.are fix ce nu p.ate fi m.dificat. ;xist: # c.nstante numerice+ de exemplu %+ !.<+ .1 etc. -e .bserv c dac un numr real are partea ntreag egal cu zer.+ ea nu mai trebuie precizat. # c.nstante alfanumerice (sau ir de caractere). *.nstantele ir de caractere sunt scrise ntre ap.str.furi i sunt case#sensitive. ;xemple: =abc=+ =Numele=.

'ariabile
7ariabilele sunt date care p.t avea n timp val.ri diferite. 4 variabil are nt.tdeauna un nume pentru a putea fi referit.
1

-83 sup.rt d.u tipuri de variabile: # # variabilele as.ciate numel.r c.l.anel.r din tabele variabile sistem.

Expresii
4 expresie este f.rmat din variabile+ c.nstante+ .perat.ri i funcii. >n c.ntinuare ne v.m .cupa de .perat.rii ce p.t fi f.l.sii n expresii. Operat$ri aritmetici 4perat.rii aritmetici permi i n -83 sunt cei patru .perat.ri din matematic: adunare ?+ scdere #+ nmulire @+ mprire A. 4rdinea de efectuare a .peraiil.r aritmetice este cea din matematic (mai nti nmulirea i mprirea i ap.i adunarea i scderea). Operat$ri al(anumerici ;xist un singur .perat.r alfanumeric i anume .perat.rul de c.ncatenare a d.u iruri BB (d.u bare verticale fr spaii ntre ele). 'e exemplu expresia =abc=BB=xyz= are val.area =abcxyz=. Operat$ri de c$mpara)ie Ce lng .perat.rii .bi nuii de c.mparaie: D+ E+ DF+ EF+ DE sau GF (pentru diferit)+ F+ -83 mai implementeaz urmt.rii .perat.ri speciali: H 3(I; J despre care v.m discuta puin mai trziu

H );9K;;N J testeaz dac . val.are se gse te ntr#un interval definit de d.u val.ri. ,stfel expresia x );9K;;N a ,N' b este ec2ivalent cu expresia (xEFa) ,N' (xDFb) H (N J testeaz dac . val.are aparine unei mulimi de val.ri specificate. 'e exemplu expresia: x (N (a+b+c) este ec2ivalent cu (xFa) 4L (xFb) 4L (xFc) H (- NM33 i (- N49 NM33 J se f.l.sesc pentru a testa dac . expresie are val.area NM33 sau nu. *.mparaia cu NM33 nu se p.ate face f.l.sind .perat.rii .bi nuii F i respectiv DE.
%

4perat.ri l.gici >n .rdinea pri.ritii l.r+ ace tia sunt: H N49 J negaia l.gic H ,N' J i l.gic+ expresia a ,N' b este adevrat dac i numai dac ambii .peranzi a i b au val.area adevrat. H 4L J sau l.gic+ expresia a 4L b este adevrat dac i numai dac cel puin unul dintre .peranzii a i b au val.area adevrat.

Tabela D*+L
>n cele ce urmeaz v.m f.l.si tabela 'M,3 pentru a testa m.dul de .perare a funciil.r singulare. ,ceast tabela este una special+ care c.nine . singur c.l.an numit N'MOOPN i . singur linie. 9abela 'M,3 se f.l.se te atunci cnd realizm calcule+ sau evalum expresii care nu deriv din nici . tabel anume. /ie de exemplu c.manda -;3;*9 (<@&#!)A% /L4O 'M,3Q ;xpresia evaluat n aceast c.mand nu are n c.mp.nen nici . c.l.an a vreunei tabele+ m.tiv pentru care este nev.ie s apelm la tabela 'M,3. Cutem privi tabela 'M,3 ca pe . variabil n care mem.rm rezultatele calculel.r n.astre. 9abela 'M,3 este . facilitate specific 4racle. ;ste ec2ivalentul tabelei -P-'MOOP1 din ')%+ tabel aflat n s2ema sistem -P-()O.

,unc)ii numerice
,ceste funcii .pereaz asupra val.ril.r numerice i returneaz un rezultat numeric. /unciile numerice .ferite de 4racle sunt destul de puternice. +-S.n/ J returneaz val.area abs.lut a argumentului. Exemplu

0ezultatul a(i1at

select abs.23425/ (r$m dual 3425 select abs.3/ (r$m dual 3 +%OS.n/6 +S7 .n/6 +T+ .n/ J sunt funciile trig.n.metrice inverse+ cu semnificaia din matematic. 7al.area returnat de aceste funcii este exprimat n radiani. S7 .n/6 %OS.n/6 T+ .n/ J sunt funciile trig.n.metrice cu aceea i semnificaie ca i la matematic. ,rgumentul acest.r funcii trebuie precizat n radiani. Exemplu 0ezultatul a(i1at select sin.54848392/ (r$m dual 499999999:92;98405<49320;0:;05454;8435<4 select c$s.54848392/ (r$m dual 400004;52;<94::004:53533;<0390049489394 =O>E0.m6n/ J calculeaz val.area mn. Exemplu

0ezultatul a(i1at !

select p$?er.263/ (r$m dual 52 select p$?er.26043/ (r$m dual 844842853;25<509304::08;::<24209;9:0<:33 select p$?er.2628/ (r$m dual 43 select p$?er.26204<3/ (r$m dual 4394;0533<3085;035553:<499:32:025<93<;38 SQ0T.x/ J calculeaz rdcina ptrat a argumentului. ,pelul SQ0T.x/ returneaz aceea i val.are ca i =O>E0.x6043/. Exemplu 0ezultatul a(i1at select s@rt.5/ (r$m dual 84<52030:0<3;::<<29532<44;548303:<25;;94 0EM+7 DE0.x6A/ J n cazul n care ambii parametrii x i A sunt numere ntregi+ funcia calculeaz restul mpririi lui x la A. 'ac cel puin unul dintre parametrii este numr real+ funcia determin mai nti acel multiplu a lui A care este cel mai apr.piat de x+ i returneaz ap.i diferena dintre x i acel multiplu. Exemplu 0ezultatul a(i1at select remainder.8065/ 8 (r$m dual Explicaie. *el mai apr.piat de 80 multiplu a lui 5 este 9. 8029B8. select remainder.365/ 28 (r$m dual Explicaie. *el mai apr.piat de 3 multiplu a lui 5 este ;+ iar 32;B28. select remainder.806543/ 2043 (r$m dual Explicaie. *el mai apr.piat de 80 multiplu a lui 543 este 8043+ iar 8028043B2043. select remainder.2806543/ 043 (r$m dual Explicaie. *el mai apr.piat de 280 multiplu a lui 543 este 28043+ iar 2802.28043/B043. MOD.x6A/ J dac cei d.i parametrii sunt numere ntregi+ atunci funcia returneaz acela i rezultat ca i funcia 0EM+7 DE0+ adic restul mpririi lui x la A. 9e.rema mpririi cu rest este extins de aceast funcie i pentru numerele reale. ,dic se ine c.nt de relaia

xBA C cDt E rest


unde restul trebuie s (ie Fn m$dul strict mai mic decDt A4 Exemplu 0ezultatul a(i1at select m$d.8065/ 8 (r$m dual Explicaie. 80B5C5E8. select m$d.365/ 2 (r$m dual Explicaie. 3B5C8E2 select m$d.806543/ 5 (r$m dual Explicaie. 80B543C2E5. select m$d.2806543/ 25 (r$m dual Explicaie. 280B543C.22/25. select m$d.28062543/ 25 (r$m dual Explicaie. 280B2543C225. select m$d.8062543/ 5 (r$m dual Explicaie. 80B2543C.22/E5. -e .bserv din exemplele anteri.are c restul are nt.tdeauna acela i semn cu primul parametru. S7G .x/ J returneaz semnul lui x+ adic 8 dac x este numr p.zitiv+ respectiv 28 dac x este numr negativ. %E7L.x/ J returneaz cel mai mic numr ntreg care este mai mare sau egal dect parametrul transmis. ,LOO0.x/ J returneaz cel mai mare numr ntreg care este mai mic sau egal dect parametrul transmis. Exemplu 0ezultatul a(i1at select ceil.5/ (r$m dual 5 select ceil.25/ (r$m dual 25 select ceil.254</ (r$m dual 25 select ceil.54</ (r$m dual 4 $

select (l$$r.5/ (r$m dual 5 Select (l$$r.25/ (r$m dual 25 select (l$$r.254</ (r$m dual 24 Select (l$$r.54</ (r$m dual 5 0O* D.x6A/ J r.tun5e te val.area lui x la un numr de cifre precizat prin parametrul A. 'ac al d.ilea parametru este un numr p.zitiv+ atunci se v.r pstra din x primele A zecimale+ ultima dintre aceste cifre fiind r.tun5it+ n funcie de de urmt.area zecimal. ,l d.ilea argument p.ate fi . val.are negativ+ r.tun5irea fcndu#se la stnga punctului zecimal. *ifra a HAH E8 din faa punctului zecimal (numrnd de la punctul zecimal spre stnga ncepnd cu 8) va fi r.tun5it n funcie cifra aflat imediat la dreapta ei. Crimele HAH cifre din stnga punctului zecimal v.r deveni 0. *el de al d.ilea argument este .pi.nal+ n cazul n care nu se precizeaz+ este c.nsiderat implicit val.area 0. Exemplu 0ezultatul a(i1at Select r$und.<43482562/ (r$m dual <43482 Select r$und.<43482;62/ (r$m dual <43485 Select r$und.<43482;628/ <30 ,r$m dual Select r$und.<43482;622/ <00 ,r$m dual Select r$und.<43482;625/ 8000 ,r$m dual Select r$und.<43482;624/ 0 ,r$m dual Select r$und.<43482;60/ <43 ,r$m dual Select r$und.<434:2;60/ <4; ,r$m dual Select r$und.<434:2;/ <4; ,r$m dual T0* %.x/ J este asemnt.are cu funcia 0O* D+ fr a r.tun5i ultima cifr. Exemplu 0ezultatul a(i1at Select trunc.<43482562/ (r$m dual <43482 Select trunc.<43482;62/ (r$m dual <43482 Select trunc.<43482;628/ <40 ,r$m dual Select trunc.<43482;622/ <00 ,r$m dual Select trunc.<43482;625/ 0 ,r$m dual Select trunc.<43482;624/ 0 ,r$m dual select trunc.<43482;60/ <43 (r$m dual select trunc.<434:2;60/ <43 (r$m dual select trunc.<434:2;/ (r$m dual <43

<