Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis consolidació UF3: PL-SQL»

De wikiserver
Dreceres ràpides: navegació, cerca
(Exercici 1)
(Exercici 1)
Línia 12: Línia 12:
 
:* Utilitzeu dos cursors: el primer amb el salari promig de tots els departaments i el segon per actualitzar el salari dels empleats que cobren menys que el promig del seu departament.
 
:* Utilitzeu dos cursors: el primer amb el salari promig de tots els departaments i el segon per actualitzar el salari dels empleats que cobren menys que el promig del seu departament.
  
<--
+
<!--
 
<pre>
 
<pre>
 
DECLARE  
 
DECLARE  
Línia 44: Línia 44:
 
   
 
   
 
end;
 
end;
 
+
</pre>
 
-->
 
-->
 
===Exercici 2===
 
===Exercici 2===

Revisió del 20:00, 18 maig 2015

Exercici Cursors Explícits

Exercici 1

Creeu un bloc PL/SQL que actualitzi el salari dels empleats amb el salari promig del seu departament, per a aquells empleats que tinguin un salari inferior a aquest salari promig.

Consideracions:

  • Utilitzeu una taula per guardar el salari promig de cada departament (posicions respectives al número de departament).
  • Utilitzeu dos cursors: el primer amb el salari promig de tots els departaments i el segon per actualitzar el salari dels empleats que cobren menys que el promig del seu departament.

Exercici 2

Creeu les següents taules:

Taula Servei_Comanda: recull la data de la comanda, els dies transcorreguts entre la petició de comanda (orderdate) 
i la venda de la mateixa (shipdate) i quants productes s'han demanat en la comanda.
     
Create Table Servei_Comanda(
       data_com date,
       dies_com number(2),
       num_prod number(2));

Taula Qtat_Producte: recull el nom del producte, en quantes comandes s'ha demanat el productei en total quantes 
unitats del producte s'han demanat. 

Alter table Product
add constraint product_uq Unique(descrip);

Create Table Qtat_Producte(
       Producte varchar2(30),
       num_com number(3),
       unit_prod number(4),
       Constraint qtat_producte_producte_pk Primary Key(Producte),
       Constraint qtat_producte_producte_fk Foreign key(Producte) References 
       Product(Descrip));

Insert Into qtat_producte
Values('ACE TENNIS RACKET I',3,18);

Feu una funció que validi l'existencia d'un client a partir del seu codi.

Programa:

  • En cas de no existencia del client, informeu a l'usuari amb un missatge.
  • Recupereu totes les comandes del client en un cursor.
  • Per a cada comanda, recupereu tots els items en un altra cursor. S'executará tantes vegades com comandes hagi fet el client.
  • Actualitzeu la taula Servei_Comanda.
  • Actualitzeu la taula Qtat_Producte.