This is an old revision of the document!


Laborator 11 - Formatarea datelor de ieșire în SQL*Plus

Obiective

  • Formatarea datelor de ieșire
  • Comanda SET
  • Comanda COLUMN
  • Comenzile TTITLE și BTITLE
  • Comenzile BREAK și COMPUTE

Commenzile SQL*Plus

Comenzile SQL*Plus sunt folosite pentru:

  • Editarea, memorarea și executarea comenzilor SQL
  • Efectuarea de calcule, formatarea datelor de ieșire și printarea listelor
  • Listarea structurii obiectelor din baza de date
  • Accesul și transferul datelor între baze de date
  • Interceptarea și interpretarea mesajelor de eroare

Comenzi SQL*Plus

  • @ – execută un fișier de comenzi indirecte
  • / – execută comanda curentă din buffer
  • ACC[EPT] variable [NUM[BER]|CHAR] [PROMPT text|NOPR[OMPT]] [HIDE] – citește o dată de intrare și o stochează într-o variabilă
  • A[PPEND] text – adaugă un text la sfârșitul liniei curente din buffer
  • BRE[AK] [ON report_element [action[action]]].. – specifică modul de formatare într-un raport prin suprimarea afișării înregistrărilor duplicate pe coloane, salt de linie, efectuarea de calcule cu comanda COMPUTE
  • BTI[TLE] [printspec [ text | variable] … ] | OFF | ON – plaseaza un text la sfarsitul raportului
  • C[HANGE] sepchar old [sepchar [new]] – schimbă un text în linia de comanda;
  • CL[EAR] option – resetează setările făcute cu alte comenzi, cum ar fi BREAKS, BUFFER, COLUMNS, COMPUTERS, SCREEN;
  • COL[UMN] [(column | expr) [option …]] – specifică atribute de afișare pentru o coloană, cum ar fi specificarea antetului și formatul de afișare
  • COMP[UTE] [function OF (expr|column|alias) … ON (expr | column | alias | REPORT | ROW) – face anumite calcule pe coloane aplicând funcția function
  • CONN[ECT] username/password@database_specification – face conexiunea la o altă bază de date (schemă)
  • COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE}  destination_table[(column, column, column, …)] USING query – copiaza o tabela dintr-o bază de date (schemă) în altă bază de date (schemă) conform unui query specificat, unde parametrul database are următoarea formă: username [/password]@database_specification
  • DEF[INE] [variable]|[variable=text] – definește o variabilă a userului
  • DEL – șterge linia curenta din buffer
  • DESC[RIBE] [user.]object[@database_link_name] – afișează structura unei tabele, view sau synonym
  • DISCONNECT – deconectează userul curent dar nu iese din SQL*Plus
  • ED[IT] [file_path_file_name[.ext]] – invoca un editor pentru comanda curentă din buffer
  • EXIT|QUIT – executa commit la ultimele tranzactii si iese din SQL Plus
  • GET file_path_file_name[.ext][LIST|NOTLIST] – încarcă un fișier de comenzi indirecte în buffer
  • HELP [topic] – accesează documentația din SQL*Plus
  • HO[ST] [command] – revenire parțială în sistemul de operare fără a părăsi SQL*Plus
  • I[NPUT] [text] – adaugă noi linii la comanda curentă din buffer
  • L[IST] [n m] [n LAST] [* LAST][LAST] – listează liniile comenzii din buffer începând cu linia curentă (*) sau de la linia n la m (fără parametri listează ultima comandă din buffer)
  • PAU[SE] [text] – oprește afișarea pe ecran, afișează text și așteaptă RETURN
  • PROMPT [text] – afișează un mesaj pe ecran
  • R[UN] – afișează și execută ultima comandă din buffer
  • SAV[E] file_path_file_name[.ext] [CREATE|REPLACE|APPEND] – salvează comanda din buffer într-un fișier
  • SET system_variable value – setează parametrii specifici sesiunii curente
  • SHO[W] option – afișează valorile variabilelor de sistem, unde option poate fi: ALL, BTITLE, NO, PNO, RELEASE, SPOOL, SQLCODE, TTITLE, USER
  • SPO[OL] file_path_file_name[.ext]|OFF|ON – redirectează rezultatele unei interogari spre un fisier
  • STA[RT] file_path_file_name[.ext][arg1,arg2,…] – execută un fișier de comenzi indirecte
  • TTI[TLE] [printspec [text|variable] …]|[OFF|ON] – plasează un text la începutul raportului
  • UNDEF[INE] variable – resetează variabile definite în sesiunea curentă

Comanda SET

  • Este folosită pentru setarea și activarea/dezactivarea anumitor parametri specifici sesiunii curente
  • Acești parametri au valori implicite la deschiderea unei sesiuni în SQL*Plus, dar sunt situații când unii trebuie modificați conform cerințelor utilizatorului și la terminarea sesiunii revin la valorile implicite.

Parametrii comenzii SET

  • ARRAY[SIZE] n – specifică numărul maxim de linii din buffer rezultate în urma unei interogări, iar n poate fi maxim 5000, valoarea implicită n=20
  • DEF[INE] {'&'|c|OFF|ON} – setează caracterul care prefixează o variabilă de substituție (valoare implicită &) iar ON/OFF este folosit pentru a schimba prefixul în comenzile din buffer
  • ECHO {OFF|ON} – controlează cum sunt afișate comenzile executate dintr-un fișier de comenzi (OFF – valoarea implicită – suprimă acest lucru)
  • FEED[BACK] {6|n|OFF|ON} – afișează numărul de înregistrări returnate de un query când sunt returnate cel puțin n înregistrări, valoarea implicită este 6
  • HEA[DING] {OFF|ON} – controlează dacă sunt afișate aliasurile de coloane, valoarea implicită ON
  • LIN[ESIZE] n – setează numărul de caractere care vor fi afișate pe o linie și de asemenea controlează centrarea si aliniamentul din dreapta a textului. Valoarea maximă pentru n este 500, valoarea implicită este 80
  • NEWP[AGE] n – setează numărul liniilor goale ce vor fi tipărite între pagini (titlul de jos de la fiecare pagina și titlul de sus al paginii urmatoare)
  • NUMF[ORMAT] format – setează formatul implicit pentru afisarea valorilor numerice
  • NUM[WIDTH] n – setează lungimea implicită pentru afișarea valorilor numerice, valoarea implicită este 10
  • PAGES[IZE] n – setează numărul liniilor pe o pagina, valoarea implicită este 24
  • PAU[SE] {OFF|ON|text} – permite oprirea afișării pe ecran în timpul unei interogări, valoarea implicită este OFF
  • SHOW[MODE] {OFF|ON} – permite afișarea variabilelor de sistem când sunt schimbate cu comanda SET, valoarea implicită este OFF
  • SPA[CE] n – setează numărul de spații dintre coloane in timpul afisarii (valoarea implicită este 1, valoarea maxima pentru n este 10)
  • SQLCASE {MIXED|LOWER|UPPER} – permite convertirea comenzilor SQL înainte de execuție. LOWER/UPPER convertesc comenzile iar MIXED (valoarea implicită) va lăsa textul nemodificat

Ex. 1 Să se seteze pagina de afișare la 120 caractere pe linie, 24 de linii pe pagină, un spațiu de 2 caractere între coloanele de afișare, salt de 5 linii între pagini, afișare să se facă fără antetul de coloană și fără a specifica numărul de înregistrări returnate de interogare.

Comanda COLUMN

  • Această comandă este folosită pentru definirea și formatarea coloanelor de ieșire.

Parametrii comenzii COLUMN

  • ALI[AS] alias – inserează un alias
  • CLE[AR] – resetează opțiunile anterioare
  • FOLD_A[FTER] – inserează CR după antet și după fiecare rând
  • FOLD_B[EFORE] – inserează CR înainte de antet și înaintea fiecarui rând
  • FOR[MAT] format – specifică formatul de afisare An pentru coloane alfanumerice sau unul din formatele numerice
  • HEA[DING] text – definește antetul coloanei
  • JUS[TIFY] L[EFT]|C[ENTER]|R[IGHT] – specifică alinierea antetului (implicit dreapta pentru coloane numerice și stânga pentru celelalte tipuri)
  • LIKE {expr/alias} – copiază setările altei coloane definite anterior
  • NEWL[INE] – salt la linie noua
  • NEW_V[ALUE] variable – specifică o variabilă care va stoca valoarea coloanei
  • NOPRI[NT] |PRI[NT] – specifică dacă coloana va fi afisata
  • NULL {number|text} – specifică ce număr sau text va fi afișat pentru o valoare nulă
  • ON|OFF – controlează starea setărilor pentru o coloană
  • WRA[PPED]|[WOR[D_WRAPPED]|TRU[NCATED] – specifică cum va fi afișat un șir prea lung pentru o coloana

Ex. 2 Să se listeze id_dep, functie, id_ang, salariu, comision și venit lunar pentru anajații din departamentul 30. Formatați coloanele.

bd/laboratoare/11.1582049707.txt.gz · Last modified: 2020/02/18 20:15 by iulia.radulescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0