Differences

This shows you the differences between two versions of the page.

Link to this comparison view

bd:laboratoare:11 [2020/02/18 20:34]
iulia.radulescu [Commenzile SQL*Plus]
bd:laboratoare:11 [2022/05/17 12:35] (current)
sorin.ciolofan [Comenzi SQL*Plus]
Line 1: Line 1:
 ====== Laborator 11 - Formatarea datelor de ieșire în SQL*Plus ====== ====== Laborator 11 - Formatarea datelor de ieșire în SQL*Plus ======
  
-==== Obiective ====+===== Obiective ​=====
  
   * Formatarea datelor de ieșire   * Formatarea datelor de ieșire
Line 9: Line 9:
   * Comenzile BREAK și COMPUTE   * Comenzile BREAK și COMPUTE
  
-===== Commenzile ​SQL*Plus =====+ 
 + 
 +===== Comenzile ​SQL*Plus =====
  
 Comenzile SQL*Plus sunt folosite pentru: Comenzile SQL*Plus sunt folosite pentru:
Line 18: Line 20:
   * Interceptarea și interpretarea mesajelor de eroare   * Interceptarea și interpretarea mesajelor de eroare
  
-=== Comenzi SQL*Plus ===+==== Comenzi SQL*Plus ​====
  
   * **<​nowiki>​@</​nowiki>​** – execută un fișier de comenzi indirecte   * **<​nowiki>​@</​nowiki>​** – execută un fișier de comenzi indirecte
Line 61: Line 63:
 === Parametrii comenzii SET === === 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 +^Nume parametru ​         ^Descriere parametru ^ 
-  ​* ​**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 +**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 | 
-  ​* ​**ECHO {OFF|ON}** ​– controlează cum sunt afișate comenzile executate dintr-un fișier de comenzi (OFF – valoarea implicită – suprimă acest lucru) +**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| 
-  ​* ​**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 +**<​nowiki>​ECHO {OFF|ON}</​nowiki>​** controlează cum sunt afișate comenzile executate dintr-un fișier de comenzi (OFF – valoarea implicită – suprimă acest lucru)| 
-  ​* ​**HEA[DING] {OFF|ON}** ​– controlează dacă sunt afișate aliasurile de coloane, valoarea implicită ON +**<​nowiki>​FEED[BACK] {6|n|OFF|ON}</​nowiki>​** 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| 
-  ​* ​**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 +|**<​nowiki>​HEA[DING] {OFF|ON}</​nowiki>​** controlează dacă sunt afișate aliasurile de coloane, valoarea implicită ON| 
-  ​* ​**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) +**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 | 
-  ​* ​**NUMF[ORMAT] format** ​– setează formatul implicit pentru afisarea valorilor numerice +**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) ​| 
-  ​* ​**NUM[WIDTH] n** – setează lungimea implicită pentru afișarea valorilor numerice, valoarea implicită este 10 +**NUMF[ORMAT] format** ​setează formatul implicit pentru afisarea valorilor numerice ​| 
-  ​* ​**PAGES[IZE] ​ n** – setează numărul liniilor pe o pagina, valoarea implicită este 24 +**NUM[WIDTH] n** setează lungimea implicită pentru afișarea valorilor numerice, valoarea implicită este 10 | 
-  ​* ​**PAU[SE] {OFF|ON|text}** ​– permite oprirea afișării pe ecran în timpul unei interogări,​ valoarea implicită este OFF +**PAGES[IZE] ​ n** setează numărul liniilor pe o pagina, valoarea implicită este 24 | 
-  ​* ​**SHOW[MODE] {OFF|ON}** ​– permite afișarea variabilelor de sistem când sunt schimbate cu comanda SET, valoarea implicită este OFF +**<​nowiki>​PAU[SE] {OFF|ON|text}</​nowiki>​** permite oprirea afișării pe ecran în timpul unei interogări,​ 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) +**<​nowiki>​SHOW[MODE] {OFF|ON}</​nowiki>​** permite afișarea variabilelor de sistem când sunt schimbate cu comanda SET, valoarea implicită este OFF| 
-  ​* ​**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+**SPA[CE] n** setează numărul de spații dintre coloane in timpul afisarii (valoarea implicită este 1, valoarea maxima pentru n este 10) | 
 +**<​nowiki>​SQLCASE {MIXED|LOWER|UPPER}</​nowiki>​** permite convertirea comenzilor SQL înainte de execuție. **LOWER/​UPPER** convertesc comenzile iar **MIXED** (valoarea implicită) va lăsa textul nemodificat
 + 
 +<color red> Ex. 1. </​color>​ 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.
  
-<color red> Ex. 1 </​color>​ 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.+{{:​bd:​laboratoare:​lab11_ex1.png?200|}}
  
 === Comanda COLUMN === === Comanda COLUMN ===
Line 99: Line 104:
 | **<​nowiki>​WRA[PPED]|[WOR[D_WRAPPED]|TRU[NCATED]</​nowiki>​** | specifică cum va fi afișat un șir prea lung pentru o coloana | | **<​nowiki>​WRA[PPED]|[WOR[D_WRAPPED]|TRU[NCATED]</​nowiki>​** | specifică cum va fi afișat un șir prea lung pentru o coloana |
  
-<color red> Ex. 2 </​color>​ Să se listeze //id_dep//, //​functie//,​ //id_ang//, //​salariu//,​ //​comision//​ și venit lunar pentru anajații din departamentul 30. Formatați coloanele.+<color red> Ex. 2</​color>​ Să se listeze //id_dep//, //​functie//,​ //id_ang//, //​salariu//,​ //​comision//​ și venitul ​lunar pentru anajații din departamentul 30. Formatați coloanele.
  
-=== Comenzile ​TITLE si BTITLE ===+{{:​bd:​laboratoare:​lab11_ex2.png?​550|}} 
 + 
 +=== Comenzile ​TTITLE ​si BTITLE ===
  
   * Comanda TTITLE se folosește pentru formatarea titlui de început al unui raport.   * Comanda TTITLE se folosește pentru formatarea titlui de început al unui raport.
   * Comanda BTITLE se folosește pentru formatarea titlui de sfârșit al unui raport.   * Comanda BTITLE se folosește pentru formatarea titlui de sfârșit al unui raport.
  
-=== Parametrii comenzilor ​TITLE si BTITLE ===+=== Parametrii comenzilor ​TTITLE ​si BTITLE ===
  
 ^Nume parametru ​         ^Descriere parametru ^ ^Nume parametru ​         ^Descriere parametru ^
Line 118: Line 125:
 |**FORMAT char** | se specifică formatul de afișare pentru caractere numerice sau alfanumerice| |**FORMAT char** | se specifică formatul de afișare pentru caractere numerice sau alfanumerice|
 |**UNDERLINE** | se specifică ca afișarea să se facă folosind caractere subliniate| |**UNDERLINE** | se specifică ca afișarea să se facă folosind caractere subliniate|
 +
 +<color red> Ex. 3. </​color>​ Să se creeze un raport care afișează //id_ang//, //nume//, //​functie//,​ //​data_ang//​ și //salariu// pentru angajații din departamentul 20.
 +
 +{{:​bd:​laboratoare:​lab11_ex3.png?​550|}}
 +
 +===== Rapoarte =====
 +
 +Un raport poate fi fragmentat după:
 +  * Coloană
 +  * Expresie
 +  * Rând
 +  * Raport
 +Pe un raport se pot executa următoarele acțiuni în urma formatării:​
 +  * Salt de n rânduri
 +  * Salt de pagină
 +  * Duplicarea sau neduplicarea valorilor pe o coloană
 +
 +==== Comenzile BREAK si COMPUTE ====
 +
 +  * Comanda **BREAK** este folosită pentru fragmentarea unui raport în mai multe segmente
 +  * Comanda **COMPUTE** execută anumite calcule pe segmentele respective
 +  * Comanda **BREAK** (care face o fragmentare) are următoarea sintaxă:
 +
 +**BRE[AK] [ON report_element [action [action]]] ...**
 +
 +unde:
 +
 +  * report_element are sintaxa: **{column|expr|ROW|REPORT}**
 +  * action are sintaxa: **[SKI[P] n|[SKI[P]] PAGE] [NODUP[LICATES]|DUP[LICATES]]**
 +
 +Calculele care se pot face cu comanda COMPUTE sunt:
 +
 +^Operatie ​         ^Descriere operatie ^
 +|**AVG** | calcul medie (pentru date de tip number) |
 +|**COU[NT]** | numără valorile nenule (pentru orice tip de date) |
 +|**MAX[IMUM]** | valoare maximă (pentru date de tip number și char) |
 +|**MIN[IMUM]** | valoare minimă (pentru date de tip number și char) |
 +|**NUM[BER]** | numără rânduri (pentru orice tip de data) |
 +|**STD** | calcul deviație standard pentru valori nenule (pentru date de tip number) |
 +|**SUM** | calcul suma pentru valori nenule (pentru date de tip number) |
 +|**VAR[IANCE]** | calcul variație (pentru date de tip number)|
 +
 +
 +<color red> Ex. 4. </​color>​ Sa se faca un raport care să conțină numele departamentului,​ numele angajaților,​ funcția ​ și salariul. Să se calculeze salariu total pe fiecare departament și salariul total pe firma.
 +
 +{{:​bd:​laboratoare:​lab11_ex4.png?​550|}}
 +
 +<color red> Ex. 5. </​color>​ Să se facă un stat de salarii. Să se calculeze impozitul astfel:
 +  * Dacă venitul <​nowiki><​=</​nowiki>​ 2000, impozitul este 10% din venit
 +  * Dacă venitul > 2000, impozitul este 20% din venit
 +
 +{{:​bd:​laboratoare:​lab11_ex5.png?​700|}}
  
  
bd/laboratoare/11.1582050872.txt.gz · Last modified: 2020/02/18 20:34 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