M2 - Bases de dades / Exercicis consolidació UF3: PL-SQL

De wikiserver
La revisió el 21:17, 23 març 2015 per Rsort (Discussió | contribucions) (Es crea la pàgina amb «==Exercici Cursors Explícits== ===Exercici 1=== Creeu les següents taules: <pre> Taula Servei_Comanda: recull la data de la comanda, els dies transcorreguts entre la …».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca

Exercici Cursors Explícits

Exercici 1

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 producte i 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.