Northwind — Procediments
Veure com a PDFLes operacions del dia a dia del magatzem de Northwind (altes de transportistes, revisions de preus, entrades de mercaderia, enviaments, reassignació de la cartera d'un comercial i alta de comandes) es faran amb procediments emmagatzemats. Practiques CREATE PROCEDURE i CALL, paràmetres INOUT, validacions amb RAISE EXCEPTION ... USING ERRCODE, FOUND, GET DIAGNOSTICS i bucles. Les taules de Northwind no tenen identificadors automàtics: quan calgui un identificador nou, fes servir el màxim existent + 1. Quan una validació falla, el procediment no ha de deixar cap canvi fet.
Aquest problema fa servir la base de dades Northwind (distribuïdora d'aliments: productes, categories, proveïdors, clients, comandes, empleats, territoris i transportistes), amb les taules següents: categories, customer_customer_demo, customer_demographics, customers, employee_territories, employees, order_details, orders, products, region, shippers, suppliers, territories, us_states. Pots consultar l'esquema complet amb el botó "View the database schema" d'aquesta mateixa pàgina.
Les consultes s'executen sobre PostgreSQL 17: fes servir la sintaxi de PostgreSQL (i PL/pgSQL per a funcions, procediments i triggers).
Cada pregunta es contesta amb el codi que es demana (funcions, procediments, triggers...), en el seu propi quadre de text. Per corregir-lo, el teu codi s'instal·la sobre la base de dades original i s'hi executen unes proves: es compara el que retorna cada prova (o l'error que dona, si n'ha de donar) i el contingut final de les taules amb el que fa la solució del professor. No cal que facis DROP del que crees: sempre es parteix de zero.
Comentaris