Differences

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

Link to this comparison view

bdd:laboratoare:06 [2024/10/07 11:27]
127.0.0.1 external edit
bdd:laboratoare:06 [2024/10/07 14:39] (current)
ciprian.truica
Line 83: Line 83:
 <color red>Ex. 1</​color>​ Să se scrie un pachet p_angajare, care conține o funcție și o procedură, pentru a face o listă cu angajații care au comision și au venit în firmă înaintea șefului direct. Șeful direct al unui angajat este specificat în coloana manager_id. Procedura va afișa rezultatele. <color red>Ex. 1</​color>​ Să se scrie un pachet p_angajare, care conține o funcție și o procedură, pentru a face o listă cu angajații care au comision și au venit în firmă înaintea șefului direct. Șeful direct al unui angajat este specificat în coloana manager_id. Procedura va afișa rezultatele.
  
-{{:bdd:​laboratoare:​l06ex01.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex01.png?​nolink&​740|}}
  
 ==== Restricții ==== ==== Restricții ====
Line 92: Line 92:
 <color red>Ex. 2 </​color>​ Exemplu de ambiguitate:​ <color red>Ex. 2 </​color>​ Exemplu de ambiguitate:​
  
-{{:bdd:​laboratoare:​l06ex02.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex02.png?​nolink&​740|}}
  
  
Line 110: Line 110:
 <color red>Ex. 3. </​color>​ Exemplu de utilizarea a unei variabile publice. <color red>Ex. 3. </​color>​ Exemplu de utilizarea a unei variabile publice.
  
-{{:bdd:​laboratoare:​l06ex03.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex03.png?​nolink&​740|}}
  
 O variabilă locală (privată) poate fi folosită pentru a inițializa un parametru al unei subprogram local (privat) și în interiorul subprogramelor (private/​publice). O variabilă locală (privată) poate fi folosită pentru a inițializa un parametru al unei subprogram local (privat) și în interiorul subprogramelor (private/​publice).
Line 116: Line 116:
 <color red>Ex. 4. </​color>​ Exemplu de utilizarea a unei variabile private. <color red>Ex. 4. </​color>​ Exemplu de utilizarea a unei variabile private.
  
-{{:bdd:​laboratoare:​l06ex04.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex04.png?​nolink&​740|}}
  
 ==== Informații din dicționarul bazei de date ==== ==== Informații din dicționarul bazei de date ====
Line 334: Line 334:
 <color red>Ex. 5</​color>​ Să se scrie un trigger de tip BEFORE care printează un mesaj ori de câte ori se face un insert în tabela JOBS. <color red>Ex. 5</​color>​ Să se scrie un trigger de tip BEFORE care printează un mesaj ori de câte ori se face un insert în tabela JOBS.
  
-{{:bdd:​laboratoare:​l06ex05.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex05.png?​nolink&​740|}}
  
 Să verificăm cum lucrează făcând un insert în tabela JOBS: Să verificăm cum lucrează făcând un insert în tabela JOBS:
Line 366: Line 366:
 <color red>Ex. 6</​color>​ Să se creeze un trigger de tip AFTER care afișează un mesaj ori de câte ori se face o modificare în tabela JOBS. <color red>Ex. 6</​color>​ Să se creeze un trigger de tip AFTER care afișează un mesaj ori de câte ori se face o modificare în tabela JOBS.
  
-{{:bdd:​laboratoare:​l06ex06.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex06.png?​nolink&​740|}}
  
 Să verificăm cum lucrează triggerul făcând o modificare a salariului maxim în tabelul JOBS: Să verificăm cum lucrează triggerul făcând o modificare a salariului maxim în tabelul JOBS:
Line 401: Line 401:
 <color red>Ex. 7</​color>​ Să se scrie un trigger de tip AFTER care se declanșează dacă salariul unui angajat cu funcția '​SH_CLERK'​ este majorat. <color red>Ex. 7</​color>​ Să se scrie un trigger de tip AFTER care se declanșează dacă salariul unui angajat cu funcția '​SH_CLERK'​ este majorat.
  
-{{:bdd:​laboratoare:​l06ex07.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex07.png?​nolink&​740|}}
  
  
Line 426: Line 426:
 <color red>Ex. 8</​color>​ Să se scrie un trigger de tip AFTER care se declanșează în momentul în care se face un insert, delete sau update pe coloanele SALARY și COMMISSION_PCT din tabela EMPLOYEES. Să se afiseze mesaje cu operați efectuată la declanșarea triggerului. <color red>Ex. 8</​color>​ Să se scrie un trigger de tip AFTER care se declanșează în momentul în care se face un insert, delete sau update pe coloanele SALARY și COMMISSION_PCT din tabela EMPLOYEES. Să se afiseze mesaje cu operați efectuată la declanșarea triggerului.
  
-{{:bdd:​laboratoare:​l06ex08.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex08.png?​nolink&​740|}}
  
 Verificări pentru Insert, Update si Delete: Verificări pentru Insert, Update si Delete:
Line 458: Line 458:
 <color red>Ex. 9</​color>​ Să creăm un view care selectează angajații care nu sunt sefi (un angajat este sef dacă apare pe coloana manager_id din tabelul employees). <color red>Ex. 9</​color>​ Să creăm un view care selectează angajații care nu sunt sefi (un angajat este sef dacă apare pe coloana manager_id din tabelul employees).
  
-{{:bdd:​laboratoare:​l06ex09a.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex09a.png?​nolink&​740|}}
  
 Să facem o inserare în view-ul creat Să facem o inserare în view-ul creat
Line 478: Line 478:
 Să creăm triggerul t_notsefi cu opțiunea INSTEAD OF care să permită operația de INSERT pe view. Să creăm triggerul t_notsefi cu opțiunea INSTEAD OF care să permită operația de INSERT pe view.
  
-{{:bdd:​laboratoare:​l06ex09b.png?​nolink&​740|}}+{{:bd2:​laboratoare:​l06ex09b.png?​nolink&​740|}}
  
 Să se execute din nou comanenzile de insert de mai sus. Ce observați? Să se execute din nou comanenzile de insert de mai sus. Ce observați?
bdd/laboratoare/06.1728289675.txt.gz · Last modified: 2024/10/07 14:39 (external edit)
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