Differences

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

Link to this comparison view

bd2:laboratoare:05 [2020/11/01 18:32]
apetrescu0506 [Proceduri declarate în cadrul unui bloc]
bd2:laboratoare:05 [2020/11/05 13:27] (current)
ciprian.truica [Laboratorul 05 - PL/SQL Subprograme]
Line 1: Line 1:
 ===== Laboratorul 05 - PL/SQL Subprograme ===== ===== Laboratorul 05 - PL/SQL Subprograme =====
-Exercitii date spre rezolvare: {{bd2:​laboratoare:​lab05_-_luni10-14.txt | Enunt/​Rezolvare pentru Luni EG305 10-14}}+
  
 ===== Conținut ===== ===== Conținut =====
Line 137: Line 137:
   * **[PRAGMA AUTONOMOUS_TRANSACTION]** – specifică că execuția procedurii suspendă tranzacția curentă care se reia după terminarea execuției procedurii, adică într-o tranzacție imbricăm o altă tranzacție cu propriile sale comenzi TCL (COMMIT și ROLLBACK)   * **[PRAGMA AUTONOMOUS_TRANSACTION]** – specifică că execuția procedurii suspendă tranzacția curentă care se reia după terminarea execuției procedurii, adică într-o tranzacție imbricăm o altă tranzacție cu propriile sale comenzi TCL (COMMIT și ROLLBACK)
  
-<color red>Ex. 3.</​color>​ Să se creeze o procedură stocată care calculează veniturile angajaților cu o vechime de peste 20 de ani în firmă, dintr-un anumit departament. ​+<color red>Ex. 3.</​color>​ Să se creeze o procedură stocată care calculează veniturile angajaților cu o vechime de peste 10 de ani în firmă, dintr-un anumit departament. ​
  
 {{:​bd2:​laboratoare:​l05ex03.png?​nolink&​730|}} {{:​bd2:​laboratoare:​l05ex03.png?​nolink&​730|}}
Line 157: Line 157:
 <color red>Ex. 4.</​color>​ Să se scrie o procedură nestocată, care utilizează un cursor, ​ pentru calculul numărului de zile de concediu pentru toți angajații, după următorul algoritm: <color red>Ex. 4.</​color>​ Să se scrie o procedură nestocată, care utilizează un cursor, ​ pentru calculul numărului de zile de concediu pentru toți angajații, după următorul algoritm:
   - manageri de departament:​   - manageri de departament:​
-    * Vechimea < 32 de ani primesc 20 zile de concediu +    * Vechimea < 13 de ani primesc 20 zile de concediu 
-    * Vechimea >= 32 de ani primesc 22 zile de concediu+    * Vechimea >= 13 de ani primesc 22 zile de concediu
   - angajații care nu sunt șefi:   - angajații care nu sunt șefi:
-    * Vechimea < 32 de ani primesc 15 zile de concediu +    * Vechimea < 13 de ani primesc 15 zile de concediu 
-    * Vechimea >= 32 de ani primesc 22 zile de concediu+    * Vechimea >= 13 de ani primesc 22 zile de concediu
  
 {{:​bd2:​laboratoare:​l05ex04.png?​nolink&​730|}} {{:​bd2:​laboratoare:​l05ex04.png?​nolink&​730|}}
Line 181: Line 181:
 <color red>Ex. 6.</​color>​ Să se creeze un vector fie la nivelul dicționarului de date, fie local. ​ Într-un bloc, să se definească și inițializeze o variabilă de tipul nou creat și să se apeleze o procedură care afișează valorile elementelor. Să se șteargă tipul din dicționarul de date. <color red>Ex. 6.</​color>​ Să se creeze un vector fie la nivelul dicționarului de date, fie local. ​ Într-un bloc, să se definească și inițializeze o variabilă de tipul nou creat și să se apeleze o procedură care afișează valorile elementelor. Să se șteargă tipul din dicționarul de date.
  
-{{:​bd2:​laboratoare:​l05ex06a.png?​nolink&​730|}} ​{{:​bd2:​laboratoare:​l05ex06b.png?​nolink&​730|}} ​| +{{:​bd2:​laboratoare:​l05ex06a.png?​nolink&​730|}} ​ 
-{{:​bd2:​laboratoare:​l05ex06c.png?​nolink&​730|}} ​{{:​bd2:​laboratoare:​l05ex06d.png?​nolink&​730|}} ​| + 
-{{:​bd2:​laboratoare:​l05ex06e.png?​nolink&​730|}} ​|+{{:​bd2:​laboratoare:​l05ex06b.png?​nolink&​730|}}  
 + 
 +{{:​bd2:​laboratoare:​l05ex06c.png?​nolink&​730|}} 
 + 
 +{{:​bd2:​laboratoare:​l05ex06d.png?​nolink&​730|}}  
 + 
 +{{:​bd2:​laboratoare:​l05ex06e.png?​nolink&​730|}} ​
  
  
Line 189: Line 195:
  
 <color red> Ex. 7. </​color>​ Exemplu de cursor ca parametru. <color red> Ex. 7. </​color>​ Exemplu de cursor ca parametru.
-{{:​bd2:​laboratoare:​l05ex07a.png?​nolink&​730|}} ​{{:​bd2:​laboratoare:​l05ex07b.png?​nolink&​730|}} ​| + 
-{{:​bd2:​laboratoare:​l05ex07c.png?​nolink&​730|}} ​|+{{:​bd2:​laboratoare:​l05ex07a.png?​nolink&​730|}} 
 + 
 +{{:​bd2:​laboratoare:​l05ex07b.png?​nolink&​730|}} 
 + 
 +{{:​bd2:​laboratoare:​l05ex07c.png?​nolink&​730|}}
  
  
Line 397: Line 407:
  
 {{:​bd2:​laboratoare:​l05s3.png?​nolink&​730|}} {{:​bd2:​laboratoare:​l05s3.png?​nolink&​730|}}
- 
-<color red>Ex. 10. </​color>​ Să se scrie o funcție vare calculează impozitul pe venit în funcție de gradul de salarizare (gradul se găsește în tabela SALGRADE), folosindu-se următorul algoritm: 
-  * Dacă grade = 1 atunci impozitul este 10% din venit 
-  * Dacă grade = 2 atunci impozitul este 15% din venit 
-  * Dacă grade = 3 atunci impozitul este 20% din venit 
-  * Dacă grade = 4 atunci impozitul este 25% din venit 
-  * Dacă grade = 5 atunci impozitul este 30% din venit 
-Să se afișeze numele angajatului,​ dacă este șef de departament sau nu, gradul de salarizare, procentul, venitul și impozitul. 
- 
-{{:​bd2:​laboratoare:​l05ex10.png?​nolink&​730|}} 
  
  
  
bd2/laboratoare/05.1604248321.txt.gz · Last modified: 2020/11/01 18:32 by apetrescu0506
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