Sunteți pe pagina 1din 16

Formatarea iesirilor cu SQL*Plus

OBIECTIVE

Dupa ce veti termina aceasta lectie veti putea face urmatoarele :


 sa scrieti interogari care necesita o variabila de intrare
 sa setati mediul SQL*Plus
 sa produceti iesiri care sa se pot citi mai usor
 sa creati si sa executati script files
 sa salvati setarile

Scopul lectiei
In aceasta lectie veti invata cum sa includeti comenzile SQL*Plus pentru a produce o
iesire SQL care sa se citeasca mai usor.
Puteti crea un fisier de comanda ce contine o clauza WHERE pentru a limita rindurile afisate.
Pentru a schimba conditia ori de cite ori fisierul de comanda este parcurs,utilizati variabile de
substitutie.Acestea pot inlocui valorile din clauza WHERE,un text si chiar o coloana sau o
denumire de tabel.

RAPOARTE INTERACTIVE

Exemplele date pina acum nu au fost interactive in nici un mod. Intr-o aplicatie
incheiata utilizatorul ar declansa raportul, care raport s-ar derula fara promptare
ulterioara.Domeniul datelor ar fi predeterminat de clauza WHERE fixata in fisierul
SQL*Plus.
Folosind SQL*Plus puteti crea rapoarte care sugereaza utilizatorului sa livreze
propriile valori pentru a limita domeniul de date produse.Pentru a crea rapoarte interactive
puteti fixa variabile de substitutie intr-un fisier de comanda sau intr-o singura declaratie
SQL.Prin variabila se poate intelege un recipient in care valorile sint stocate temporar.

VARIABILE DE SUBSTITUTIE

 Utilizarea variabilelor de substitutie SQL*Plus pentru a stoca valorile temporar


-ampersand unic (&)
-ampersand dublu (&&)
-comenzile DEFINE si ACCEPT
 Trecerea valorilor variabile intre declaratiile SQL
 Modificarea dinamica a HEADERS si FOOTERS

Variabile de substitutie
In SQL*Plus puteti folosi variabile de substitutie ampersand unic(&) pentru a stoca temporar
valorile.Puteti predefini variabilele intre intre SQL*Plus folosind comenzile ACCEPT sau
DEFINE. ACCEPT citeste o linie a utilizatorului si o stocheaza intr-o variabila. DEFINE
creeaza si aloca o valoare variabilei.

Exemple de domenii de date limitate


-Raporteaza cifrele pentru sfertul curent sau numai pentru domeniu de date precizat .
-Raportul despre datele importante pentru utilizatorul care solicitata numai raportul .
-Afiseaza personalul numai din cadrul unui serviciu.

Alte efecte interactive


Efectele interactive nu se limiteaza la a directiona interactiunea utilizatorului cu clauza
WHERE . Se pot utiliza aceleasi principii pentru a realiza alte scopuri.De exemplu:
-Modificarea dinamica a HEADERS si FOOTERS .
-Obtinerea valorilor imput dintr-un fisier in loc de a le obtine de la o persoana .
-Trecerea valorilor de la o declaratie SQL la alta .
SQL*Plus nu sustine valorile de validare (exceptind datatype) pe input-ul utilizatorului.
Asigurati-va ca frazele pe care le scrieti pentru utilizatori sint simple si clare.

UTILIZAREA simbolului & pentru variabile de substitutie

Utilizati o variabila cu ampersand (&) pentrun a sugera utilizatorului o valoare

SQL>SELECT empno,ename,sal,deptno
2 FROM emp
3 WHERE empno=&employee_num;

Enter value for employee_num:7369


EMPNO ENAME SAL DEPTNO
.......................................................................................
7369 SMITH 800 20

Valori de substitutie cu ampersand unic

Cind se deruleaza un raport,utilizatorii doresc adeseori sa limiteze datele produse dinamic.


SQL*Plus asigura aceasta flexibilitate prin intermediul variabilelor utilizatorului.Utilizati un
ampersand (&) pentru a identifica fiecare variabila din declaratia dvs.SQL. Nu este nevoie sa
definiti valoarea fiecarei variabile.
NOTATIE DESCRIERE
Variabila (&) Indica o variabila intr-o instructiune SQL;
daca variabila nu exista SQL*Plus sugereaza
utilizatorului o valoare;(SQL*Plus ignora
variabila noua imediat dupa ce a fost folosita)

Exemplu de mai sus creaza o declaratie SQL pentru a-i prezenta utilizatorului datele unui
salariat afisind numarul de cod,numele,salariul,numarul serviciului in care lucreaza salariatul .

! Prin ampersand unic utilizatorul este informat ori de cite ori se executa comanda,daca
variabila nu exista.

UTILIZAREA COMENZII SET VERIFY

Transmiterea, catre afisaj, a textului unei unei comenzi, inainte si dupa ce SQL*Plus
inlocuieste variabilele de substitutie cu valorile alocate.

SQL> SET VERIFY ON


SQL> SELECT empno ,sal, deptno
2 FROM emp
3 WHERE empno=&employee_num;
Enter value for employee_num:7369
old 3:WHERE empno=&employee_num
new 3:WHERE empno=7369

............

Comanda SET VERIFY

Pentru a confirma modificarile din declaratia SQL*Plus folositi aceasta comanda SET
VERIFY Cind SET VERIFY este activa,SQL*Plus este fortat sa afiseze textul unei comenzi
inainte si dupa ce inlocuieste variabilele de substitutie cu valorile alocate.In exemplu de mai
sus sint afisate atit valoarea veche cit si cea noua din rubrica EMPNO.

VALORILE CARACTERELOR SI DATELOR


CU VARIABILE DE INLOCUIRE

Se utilizeaza ghilimelele simple pentru valorile datelor si caracterelor.

SQL> SELECT ename,deptno,sal*12


2 FROM emp
3 WHERE job=’&job_title’;

Enter value for job_title: ANALIST


ENAME DEPTNO SAL*12
---------------------------------------------
SCOTT 20 36000
FORD 20 36000

Precizarea valorilor caracterelor si datelor cu variabile de inlocuire

Intr-o clauza WHERE valorile caracterelor si datelor trebuie incadrate in ghilimele simple.
Aceiasi regula se aplica si in cazul variabilelor de substitutie.Pentru a evita introducerea
ghilimelelor in momentul derularii,se incadreaza variabila in ghilimele simple in cadrul
declaratiei SQL insasi. In exemplu de mai sus se prezinta un query pentru a reda numele
angajatului,numarul serviciului si salariul anual al tuturor salariatilor in baza denumirii
functiei introduse in prompt de utilizator.

NOTA:Puteti folosi si functiile UPPER si LOWER cu ampersand.


Folositi UPPER (‘&job_title’) asa incit utilizatorul nu trebuie sa scrie denumirea
functiei cu majuscule.

PRECIZAREA DENUMIRILOR COLOANELOR


EXPRESIILOR SI A TEXTULUI IN TIMPUL DERULARII

Utilizati variabile de substitutie pentru a suplimenta


 O conditie WHERE
 O clauza ORDER BY
 Expresia unei rubrici
 Denumirea unui tabel
 O declaratie SELECT intreaga
Precizarea denumirilor coloanelor ,expresiilor ,si a textului in timpul derularii

Nu numai ca puteti folosi variabile de substitutie intr-o clauza WHERE a unei declaratii SQL,
dar puteti folosi substitutia pentru numele unei coloane,expresii,sau text.

EXEMPLU
Afisati numarul salariatului si orice alta coloana si conditie a salariatului .

SQL> SELECT empno,&column_name:job


2 FROM emp
3 WHERE &condition;

Enter value for column_name:job


Enter value for condition : deptno =10
EMPNO JOB
......................................
7839 PRESIDENT
7782 MANAGER
7934 CLERK

! Daca nu introduceti o valoare pentru variabila de substitutie,veti obtine o


eroare cind executati declaratia de mai sus.

PRECIZAREA DENUMIRII COLOANELOR, EXPRESIILOR


SI A TEXTULUI IN TIMPUL DERULARII

SQL> SELECT empno,name,job,&column_name


2 FROM emp
3 WHERE &condition
4 ORDER BY &order_column;

Enter value for column_name :sal


Enter value for condition : sal >=300
Enter value for order_column:ename;

EMPNO ENAME JOB SAL


7902 FORD ANALYST 3000
7839 KING PRESIDENT 5000
7788 SCOTT ANALYST 3000

Precizarea denumirilor coloanelor,expresiilor si a textului in timpul derularii .

In exemplu de mai sus se afiseaza numarul de cod al salariatului,numel,functia si orice alta


rubrica, precizata de utilizator in timpul derularii ,din tabelul EMP.
Utilizatorul poate sa precizeze si conditia pentru redarea rindurilor si numele coloanei prin
care datele prezentate trebuie sa fie ordonate.
UTILIZAREA VARIABILEI DE SUBSTITUTIE (&&)

Utilizarea ampersand dublu(&&) cind doriti sa reutilizati valoarea variabilei fara a


prompta utilizatorul de fiecare data.

SQL> SELECT empno,ename ,job ,&&column_name


2 FROM emp
3 ORDER BY &column_name;

Enter value for column_deptno


EMPNO ENAME JOB DEPTNO
7839 KING PRESIDENT 10
7782 CLARK MANAGER 10
7934 MILLER CLERK 10
........................
14 rows selected

Variabila de substitutie ampersand dublu

Puteti utiliza variabila de substitutie cu ampersand dublu (&&) daca doriti sa reutilizati
valoarea variabilei fara a prompta utilizatorul de fiecare data. In exemplu de mai sus,
utilizatorului i se cere sa dea variabilei column_name valori numai o data . Valoarea
furnizata de utilizator deptno se foloseste atit pentru afisare cit si pentru ordonarea datelor .
SQL*Plus stocheaza valoarea furnizata folosind comanda DEFINE ; el o va utiliza din nou,ori
de cite ori veti face trimitere la denumirea variabilei.Dupa ce a fost instalata trebuie sa folositi
comanda UNDEFINE pentru a anula variabila.

DEFINIREA VARIABILELOR UTILIZATORULUI

 Puteti defini variabilele in prealabil,utilizind una din cele doua comenzi SQL*Plus
-DEFINE :creaza o variabila a utilizatorului CHAR datatype
-ACCEPT :citeste imput-ul utilizatorului si il stocheaza intr-o variabila
 Daca aveti nevoie sa folositi un spatiu mic cind folositi comanda DEFINE trebuie sa
incadrati spatiul in ghilimele simple.

Cum se definesc variabilele utilizatorului

Puteti defini in prealabil variabilele utilizatorului inainte de a executa o declaratie SELECT .


SQL*Plus asigura doua comenzi pentru definirea si setarea variabilelor utilizatorului :
DEFINE si ACCEPT.
Comanda Deascriere
DEFINE variabila-valoare Creaza variabila CHAR datatype si ii aloca o
valoare.
DEFINE variabila Afiseaza variabila,valoarea ei si datatype
Afiseaza toate variabilele utilizatorului cu
DEFINE valorile si datatype
ACCEPT (vezi sintaxa din ex.urmator Citeste un rind din input-ul utilizatorului si il
stocheaza intr-o variabila.
COMANDA ACCEPT

 Creeaza un prompt adaptat cind accepta input-ul utilizatorului


 Defineste in mod explicit o variabila datatype NUMBER sauDATE
 Ascunde input-ul utilizatorului din motive de securitate

ACCEPT variable [datatype] [FORMAT format]


[PROMPT text] {HIDE}

COMANDA ACCEPT

In sintaxa :
variable este denumirea variabilei care stocheaza valoarea.Daca aceasta nu
exista SQL*Plus o creeaza .

datatype este fie NUMBER ,CHAR sau DATE.


CHAR are o lungime de max 240 bytes.DATE verifica in baza unui
model format si datatype este CHAR.

FOR[MAT] precizeaza modelul de format-de exemplu A10 sau 9.999


format

PROMPT afiseaza textul inainte ca utilizatorul sa poata sa introduca valoarea


text

HIDE ascunde cea ce introduce utilizatorul –de exemplu o parola

NOTA:nu se ataseaza prefixul de inlocuire SQL*Plus ampersandul (&) cind se face referire la
parametrul de inlocuire in comanda ACCEPT.

UTILIZAREA COMENZII ACCEPT

ACCEPT dept PROMPT ‘Provude the department name:’

SELECT *
FROM dept
WHERE dname=UPPER(‘&dept’)
/

Provide the department name :Sales

DEPTNO DNAME LOC


...........................................................

30 SALES CHICAGO

Cum se utilizeaza comanda ACCEPT


Comanda ACCEPTciteste intr-o variabila numita DEPT . Prompt-ul pe care il afiseaza cind ii
cere utilizatorului variabila este “Indica denumirea serviciului “. Declaratia SELECT preia
valoarea serviciului pe care a introdus-o utilizatorul si o utilizeaza pentru a regasi rindul
corespunzator din tabelul DEPT.
Daca utilizatorul introduce o valoare valabila pentru denumirea serviciului,declaratia
SELECT executa in acelasi mod ca si oricare alta declaratie SELECT preluind valoarea
introdusa de utilizator si utilizind-o in clauza WHERE pentru comparatia cu DNAME.
De retinut: caracterul & nu apare cind variabila DEPT este in comanda ACCEPT.Caracterul &
apare numai in declaratia SELECT.

INDRUMARI
 Ambele comenzi ACCEPT si DEFINE vor crea o variabila,daca variabila nu exista; aceste
comenzi vor redefini automat o variabila,daca exista.
 Cind se foloseste comanda DEFINE se folosesc ghilimele simple (‘ ‘) pentru a incadra
un segment ce contine un spatiu fix
 Utilizati comanda ACCEPT pentru :
- a da un prompt adaptat cind se accepta input-ul utilizatorului, in caz contrar veti
vedea optiunea “Enter value for variable”;
- a defini in mod explicit variabila datatype NUMBER sau DATE;
- a ascunde input-ul utilizatorului din motive de securitate .

COMENZILE DEFINE SI UNDEFINE

O variabila ramine definita pina cind :


-utilizati comanda UNDEFINE pentru a o anula
-iesiti din SQL*Plus
Puteti verifica schimbarile efectuate cu comanda DEFINE .
Pentru a defini variabilele pentru fiecare sesiune modificati fisierul login.sql asa incit
variabilele sa fie create la inceput.

Comenzile DEFINE si UNDEFINE

Variabilele sint definite pina cind :


- emiteti comanda UNDEFINE pe o variabila;
- iesiti din SQL*Plus

Cind anulati variabilele,puteti verifica modificarile dvs.efectuate prin comanda DEFINE .


Cind iesiti din SQL*Plus,variabilele definite in timpul acelei sesiuni sint pierdute. Pentru a
defini acele variabile pentru fiecare sesiune, modificati fisierul login.sql asa incit acele
variabile sa fie create la inceput.

CUM SE UTILIZEAZA COMANDA DEFINE

Creati o variabila pentru a retine denumirea serviciului .

SQL> DEFINE deptname =sales


SQL> DEFINE deptname
DEFINE DEPTNAME =”sales”(CHAR)

Utilizati variabilele la fel ca si in cazul oricarei alte variabile

SQL> SELECT *
2 FROM dept
3 WHERE dname=UPPER (‘&deptname’)
Cum se utilizeaza comanda DEFINE

Puteti utiliza comanda DEFINE pentru a crea o variabila si apoi sa utilizati variabila la fel ca
si oricare alta variabila .Exemplu de mai sus creeaza o variabila DEPTNAME ce contine
denumirea serviciului SALES. Declaratia SQL utilizeaza apoi aceasta variabila pentru a afisa
numarul si locul unde se afla serviciul de desfaceri .

DEPTNO DNAME LOC


...................................................................
30 SALES CHICAGO

Pentru a sterge variabila, folositi comanda UNDEFINE :

SQL> UNDEFINE deptname


SQL> DEFINE deptname
symbol deptname is UNDEFINED

CUM SE CONTROLEAZA MEDIUL


SQL*Plus

 Se utilizeaza comenzile SET pentru a controla sesiunea curenta .

SET system _variable value

 Se verifica ce ati fixat utilizind comanda SHOW.


SQL> SET ECHO ON

SQL>SHOW ECHO
echo ON

Cum se controleaza mediul SQL*Plus

Puteti controla mediul in care lucreaza curent SQL*Plus utilizind comenzile SET.
In sintaxa :
sistem variable este o variabila care controleaza un aspect al mediului sesiunii

value este o valoare pentru variabila sistemului

Puteti verifica ceea ce ati fixat utilizind comanda SHOW . In ilustratie aceasta comanda
controleaza daca ECHO a fost cuplat sau nu .Pentru a vedea toate valorile variabile ale
comenzii SET se utilizeaza comanda SHOW ALL.

Pentru mai multe informatii vezi : SQL*Plus User’s Guide and Reference.Release 8,
”Command Reference”.

VARIABILELE COMENZII SET

 ARRAYSIZE {20/n}
 COLSEP {_ / text}
 FEEDBACK {_6 / n / OFF /ON }
 HEADING {OFF /ON }
 LINESIZE {_80 / n }
 LONG {_ 80 / n }
 PAGESIZE { _24 /n }
 PAUSE {_OFF /ON /text }
 TERMOUT {OFF /_ON}

Variabille si valorile comenzii SET


SET Variabile si comenzi Descriere
ARRAY[SIZE]{_20/n} Seteaza capacitatea de readucere a datelor din
baza de date.
COLSEP{_/text} Seteaza textul de scris intre coloane.Default
este un singur spatiu.
FEED[BACK]{_6 / n /OFF /ON } Afiseaza numarul de inregistrari produse de
un query cind query selecteaza cel putin n
inregistrari.
HEA[DING] {OFF /ON } Determina daca titlurile rubricilor sint afisate
in rapoarte.
LIN[ESIZE] {_80 / n} Seteaza numarul de caractere per linie in
raport cu n pentru rapoarte.
LONG {_80 / n } Seteaza latimea maxima pentru afisarea
valorilor LONG.
PAGES[IZE] {_24 / n } Specifica numarul de rinduri per pagina .
PAU[SE] {_OFF /ON /text } Va permite sa controlati derularea (scrolling)
terminalului dvs.(Trebuie sa apasati [Return]
dupa ce ati vazut fiecare interval).
TERM[OUT] {OFF /_ON } Determina daca rezultatul este afisat pe ecran.

NOTA :Valoarea n reprezinta o valoare numerica .Valorile subliniate de mai sus indica valorile
implicite.Daca nu introduceti nici o valoare SQL*Plus aloca valori implicite (default).

CUM SE SALVEAZA ADAPTARILE IN


FISIERUL login.sql

 Fisierul login.sql contine comenzile SET standard si alte comenzi SQL*Plus care sint
implementate in login.
 Puteti modifica login.sql sa contina comenzi SET suplimentare .

Setarea valorilor implicite (default) folosind fisierul login.sql.

Fisierul login.sql contine comenzile SET standard si alte comenzi SQL*Plus de care ati putea
avea nevoie la fiecare sesiune.Fisierul se citeste si comenzile sint implementate in login.Cind
parasiti (log out) sesiunea, toate setarile se pierd.

Modificarea valorilor implicite(default Settings)

Aceste valori implementate prin login.sql pot fi schimbate in timpul sesiunii curente.
Modificarile efectuate sint curente numai pentru acea sesiune. Imediat ce o intrerupeti acele
valori sint pierdute. Adaugati modificari permanente la setarile din fisierul login.sql .
COMENZILE FORMATULUI SQL*Plus

 COLUMN[column option]
 TTITLE [text / OF / ON ]
 BTITLE [text / OFF /ON ]
 BREAK [ON report_element]

Cum se obtine un raport mai usor de citit

Puteti controla caracteristicile unui raport folosind urmatoarele comenzi :


COMANDA Descriere

COL[UMN] [column option] Comanda formatul rubricilor


TTI[TLE] {text /OFF /ON ] Specifica un” header”care sa apara in partea
de sus a fiecarei pagini
BTI[TLE] [text / OFF /ON ] Specifica un “footer” care sa apara in partea
de jos a fiecarei pagini
BRE[AK] [ON report element] Anuleaza valorile duble si imparte sirurile de
date cu alimentarea rindului

Indrumari
 Toata comenzile formatului ramin valabile pin ala sfirsitul sesiunii SQL*Plus sau pina ce
se scrie altceva pe format ori se sterge.
 Nu uitati sa resetati toate valorile SQL*Plus setate ca valori implicita (default) dupa
fiecare raport.
 Nu exista nici o comanda pentru a seta variabilaSQL*Plus dupa valoarea implicita
(default);trebuie sa cunoasteti valoarea specifica sau sa executati log out sau log in din
nou .
 Daca rubricii i se da un nume fals trebuie sa faceti trimitere la acest nume si nu la
denumirea initiala a rubricii.

COMANDA COLUMN

Afisajul comenzilor unei coloane

COL[UMN] [ { column / alias } [option]]

CLE[AR] : Sterge orice format de coloana


 FOR[MAT]format: Schimba afisajul unei coloane folosind un model de format
 HEA[DING] text: Seteaza titlul coloanei
 JUS[TIFY] {align}: Aliniaza titlul rubricii la stinga,la mijloc, sau la drapta

Optiunile comenzii COLUMN


Optiune Descriere
CLE[AR] Sterge orice format de coloana.
FOR[MAT] format Schimba afisajul datelor din coloana.
HEA[DING]text Seteaza titlul coloanei.Daca nu folositi
“justification”,o linie verticala (l) va forta
alimentarea rindului.
JUS[TIFY] {align} Aliniaza titlul coloanei (nu datele)sa fie la
stinga,centru,sau la dreapta.
NOPRI[NT] Ascunde coloana.
NUL[L] text Specifica textul de afisat pentru valori nule.
PRI[NT] Arata coloana .
TRU[NCATED] Truncheaza segmentul la sfirsitul primei linii
de afisaj.
WRA[PPED] Transfera capatul segmentului la linia
urmatoare.

CUM SE UTILIZEAZA COMANDA COLUMN

 Creaza titlurile coloanelor.

COLUMN ename HEADING ‘Employee /Name’ FORMAT A15


COLUMN sal JUSTIFY LEFT FORMAT $99,999.oo
COLUMN mgr FORMAT 99999999 NULL ‘No manager’

 Afisarea setarii curente pentru coloana ENAME

COLUMN ename

 Anularea setarilor pentru coloana ENAME

COLUMN ename CLEAR

Afisarea sau anularea setarilor

Pentru a reda sau sterge setarile comenzii COLUMN curente,folositi urmatoarele comenzi:

Comanda Descriere
COL[UMN] column Afiseaza setarile curente pentru o anumita
coloana precizata.
COL[UMN] Afiseaza setarile curente pentru toate
coloanele.
COL[UMN] column CLE[AR] Anuleaza setarile pentru o coloana precizata.
CLE[AR] COL[UMN] Anuleaza setarile pentru toate coloanele.

Daca aveti o comanda mai lunga puteti sa o continuati pe linia urmatoare incheind linia
curenta cu semnul (-).

MODELE DE FORMAT PENTRU COLOANE

Element Descriere Exemplu Rezultat


An Seteaza latimea unui N/A N/A
afisaj de n
9 Cifra unica de 999999 1234
suprimare zero
0 Introduce zero 099999 01234
premergator
$ Simbolul pentru $9999 $1234
dolar
L Valuta locala L9999 L1234
. Pozitia punctului 999.99 1234.00
zecimal
, Virgula ce separa 9,999 1,234
miile

Modele de format pentru coloane

In tabel sint prezentate modele deformat pentru COLOANE.


Serverul ORACLE afiseaza un segment de semne (#)”pound”in locul unui numar intreg ale
carui cifre depasesc numarul de caractere prevazute in modelul formatului.Afiseaza
deasemenea semnele “pound”in locul unei valori intregi al carei model de format este alfa
numeric,dar a carei valoare reala este numerica.

UTILIZAREA COMENZII BREAK

Siprima dublurile si imparte rindurile


 Pentru a suprima dublurile

SQL>BREAK ON ename ON job

 Pentru a reliza totalul

SQL>BREAK ON report

 Pentru a imparti rindurile la valorile BREAK

SQL>BREAK ON ename SKIP 4 ON job SKIP2

Comanda BREAK

Utilizati comanda BREAK pentru a imparti rindurile si a suprima valorile duble. Pentru a va
asigura ca respectiva comanda BREAK functioneaza efectiv,ORDER BY coloanele pe care le
desfaceti.

SINTAXA
BREAK on column[ /alias / row ] [skip n /dup/pag] on...[on report]
unde: pag trece la o pagina noua cind valoarea de BREAK se schimba.
skip n sare n numarul liniei cind valoarea BREAK se schimba.
BREAK devine activa la :
-coloane
-rinduri
-pagina
-raport
duplicate afiseaza valorile duble

Pentru anularea setarilor BREAK se utilizeza comanda CLEAR :

CLEAR BREAK
UTILIZAREA COMENZILOR TTITLE SI BTITLE

Afisarea headers si footers

TTI[TLE] [text /OFF /ON]

Setarea header a raportului

SQL>TTITLE‘Salary /Report’

Setarea footer a raportului

SQL>BTITLE ‘Confidential’

Comenzile TTITLE si BTITLE

Utilizati comanda TTITLE pentru a formata header-ul paginii si comanda BTITLE pentru
footers.Footers apare la baza paginii in concordanta cu valoarea PAGESIZE.
Sintaxa pentru BTITLE si TTITLE este identica.Se reda numai sintaxa pentru TTITLE.Puteti
utiliza bara verticala (I) pentru pentru a desparti textul de titlu pe mai multe rinduri.

Sintaxa :
text reprezinta titlul.Se introduc ghilimelele simple daca textul contine mai
multe cuvinte.

In exemplu TTITLE se seteaza header-ul pentru a afisa SALARY in centru pe un rind si


REPORT centrat,sub acesta.
In exemplu BTITLE se seteaza footer-ul raportului sa afiseze CONFIDENTIAL.
TTITLE pune automat data si numarul paginii in raport.

NOTA:In exemplu demai sus este o sintaxa prescurtata pentru TTITLE si BTITLE.Diverse
optiuni pentru TTITLE si BTITLE sint prezentate in alt curs SQL.

CUM SE CREAZA UN “SCRIPT FILE “CARE SA DERULEZE


UN RAPORT

1. Se creeaza declaratia SQL SELECT


2. Se salveaza declaratia SELECT in “script file”
3. Se incarca “script file” intr-un editor
4. Se executa comenzile de formatare inainte de declaratia SELECT
5. Se verifica daca caracterul terminatiei urmeaza declaratia SELECT
6. Se sterg comenzile de formatare dupa declaratia SELECT
7. Se salveaza script file
8. Se introduce “ START filname “ pentru a executa script-ul

Cum se creeza un “script file” care sa deruleze un raport

Puteti fie sa introduceti fiecare din comenzile SQL*Plus in promtulSQL,fie sa puneti toate
comenzile,inclusiv declaratia SELECT in fisierul de comanda (sau script).Un script tipic
consta din cel putin o declaratie SELECT si mai multe comenzi SQL*Plus.
Etape pentru creearea unui Script File
1. Se creeaza declaratia SQL SELECT in promtul SQL. Se asigura ca datele necesare
raportului sint exacte inainte de a salva declaratia in fisier si a aplica comenzile de
formatare.Verificati clauza ORDER BY sa fie inclusa,daca intentionati sa introduceti
pauzele.
2. Salvati declaratia SELECT in script file.
3. Editati script file pentru a introduce comenzile SQL*Plus.
4. Executati comenzile de formatare inainte de declaratia SELECT.Asigurati-va ca nu ati
introdus comenzile SQL*Plus in declaratia SELCT.
5. Verificati daca SELECT este urmata de un caracter de executare,fie punct si virgula(;),fie
slash(/).
6. Se adauga comenzile de stergere a formatului SQL*Plus dupa caracterul de executare
(derulare).
7. Se salveaza script file cu modificarile facute de dvs.
8. In SQL*Plus,se executa script file introducind comanda START filenam sau @ filenam.
Aceasta comanda este necesara pentru a citi si executa script file.

Indrumari
 Puteti include rinduri goale intre comenzile SQL*Plus dintr-un script.
 Puteti abrevia comenzile SQL*Plus.
 Includeti comenzile de resetare la sfirsitul fisierului pentru a reface mediul original
SQL*Plus .

MODEL DE RAPORT

Fri Oct 24 page 1


Employee
Report
Job
Category Employee Salary
............................................. ........................................... ............................................
CLERK ADAMS $1,100.00
CLERK JAMES $950 .00
CLERK MILLER $1,300.00
CLERK SMITH $800.00
MANAGER BLAKE $2,850.00
MANAGER CLARK $2,450.00
MANAGER JONES $2,975.00
SALESMAN ALLEN $1,600.00
SALESMAN MARTIN $1,250.00
SALESMAN TURNER $1,500.00
SALESMAN WARD $1,250.00

Confidential
EXEMPLU
Se creeaza un script file pentru a initia un raport care afiseaza functia,numele si salariul
fiecarui angajat al carui salariu este sub 3000$.Se adauga headerul pe centru pe doua rinduri
pentru titlul “Raport cu salariatii”si la baza centrat footerul “confidential.
Se redenumeste coloana JOB pentru a citi “Job category” impartita pe doua rinduri.Se
redenumeste coloana EMPLOYEE pentru a citi numele salariatilor.Se redenumeste coloana
pentru salar pentru a citi “Salary” si se formateaza ca 2500$
SET PAGESIZE 37
SET LINESIZE 60
SET FEEDBACK OFF
TTITLE ‘EmployeeIReport’
BTITLE ‘Confidential’
COLUMN job HEADING ‘JobICategory’ Format A15
COLUMN ename HEADIHG ‘Employee’ Format A15
COLUMN sal HEADING ‘Salary’ Format $99,999.99
REM ** Insert SELECT statement
SELECT job,ename,sal
FROM emp
WHERE sal<3000
ORDER BY job,ename

REM reprezinta observatia sau comentariul in SQL*Pus

REZUMAT

 VARIABILELE DE SUBSTITUTIE SQL*Plus SE UTILIZEAZA PENTRU


STOCAREA TEMPORARA A VALORILOR.
 COMENZILE SET SE UTILIZEAZA PENTRU A CONTROLA MEDIUL
SQL*Plus.
 COMANDA COLUMN SE UTILIZEAZA PENTRU A CONTROLA
AFISAJUL UNEI COLOANE.
 COMANDA BREAK SE UTILIZEAZA PENTRU A SUPRIMA
DUBLURILE SI A DIVIZA RINDURILE .
 SE UTILIZEAZA TTITLE SI BTITLE PENTRU A AFISA HEADERS SI
FOOTERS.

Rezumat

Variabilele de substitutie sint utile la executarea rapoartelor .Ele permit flexibilitatea de a


inlocui valorile dintr-o clauza WHERE, numele coloanei si expresii.Poti administra rapoarte
scriind “ script files “ cu:
-variabile de substitutie cu ampersand unic
-comanda ACCEPT
-comanda DEFINE
-variabile de substitutie in linia de comanda
Puteti crea un raport mai usor de citit utilizind urmatoarele comenzi:
-COLUMN
-TTITLE
-BTITLE
-BREAK
PREZENTAREA GENERALA DIN PUNCT DE VEDERE
PRACTIC

 Se creeaza un “query” pentru a afisa valorile care folosesc variabile de


substitutie.
 Se initiaza un fisier de comanda care contine variabile.
 Se utilizeaza comanda ACCEPT

Aceasta lucrare va da ocazia sa creati fisiere care pot fi executate interactiv folosind variabile
de substitutie pentru a crea criteriile de selectare a timpului de lucru.

LUCRARE PRACTICA

Determinati daca declaratiile urmatoare sint adevarate sau false :


1. O variabila de substitutie cu ampersand unic promteaza numai o data.
Adevarat /Fals

2. Comanda ACCEPT este o comanda SQL.


Adevarat / Fals

3. Scrieti un Script file pentru a afisa numele,functia si data angajarii pentru toti salariatii
care au inceput sa lucreze intr-o anumita perioada .Se concateneaza numele si functia
impreuna,separate de un spatiu si virgula si etichetati coloana “Employees”.Promptati
utilizatorul pentru doua intervale folosind comanda ACCEPT. Se utilizeaza formatul
MM/DD/YY. Se salveaza script file ca p8q3.sql .

4. Scrieti un script pentru a afisa numele salariatului,functia si denumirea serviciului.


Conditia “search”trebuie sa permita cautarea denumirii case_insensirive.Salvati script file
cap8q4.sql .

5. Modificati p8q4.sql pentru a crea un raport ce contine denumirea serviciului ,numele


salariatului, data angajarii,salariul si salariul anual al fiecarui angajat pentru toti salariatii
dintr-un loc dat.Se prompteaza utilizatorul pentru o locatie.Se eticheteaza coloanele
DEPARTMENT NAME,EMPLOYEE NAME,START DATE,SALARY si ANNUAL
SALARY,plasind etichetele pe mai multe linii.Se salveaza script-ul ca p8q5.sql .

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