Diferència entre revisions de la pàgina «Entrega classe 4-abr-2022»

De wikijoan
Salta a la navegació Salta a la cerca
m
m
Línia 1: Línia 1:
 +
__TOC__
 
=Tasques a realitzar=
 
=Tasques a realitzar=
 
==dilluns 4 d'abril==
 
==dilluns 4 d'abril==
Línia 97: Línia 98:
 
SELECT @shipped,@canceled,@resolved,@disputed;
 
SELECT @shipped,@canceled,@resolved,@disputed;
 
</pre>
 
</pre>
 +
=Entrega=
 +
Entregaràs un pdf amb captures de pantalla conforme que has executat els exercicis proposats. Dins del termini previst.
  
 
{{Autor}}, abril 2022
 
{{Autor}}, abril 2022

Revisió del 14:38, 6 abr 2022

Tasques a realitzar

dilluns 4 d'abril

Faràs tres exemples. Els dos primers ja els hem executat a classe, estan en els apunts:

P1: cursor

DELIMITER $$
CREATE PROCEDURE createEmailList (
	INOUT emailList varchar(4000)
)
BEGIN
	DECLARE finished INTEGER DEFAULT 0;
	DECLARE emailAddress varchar(100) DEFAULT "";

	-- declare cursor for employee email
	DEClARE curEmail 
		CURSOR FOR 
			SELECT email FROM employees;

	-- declare NOT FOUND handler
	DECLARE CONTINUE HANDLER 
        FOR NOT FOUND SET finished = 1;

	OPEN curEmail;

	getEmail: LOOP
		FETCH curEmail INTO emailAddress;
		IF finished = 1 THEN 
			LEAVE getEmail;
		END IF;
		-- build email list
		SET emailList = CONCAT(emailAddress,";",emailList);
	END LOOP getEmail;
	CLOSE curEmail;

END$$
DELIMITER ;

P2:

has de crear la taula SupplierProducts i el procediment InsertSupplierProduct()

Serveix per demostrar la gestió d'errors en el cas de què es produeixi un error de clau primera al fer el insert.

P3: municipis.

Crea el procediment llista_tarragona() que doni com a resultat una cadena dels municipis entre 20000 i 40000 habitants, amb el següent format:

Amposta (21115);Calafell (27601);...

NOTA: missatge display all 1450 possibilities?

La culpa és que el codi que estàs copiant conté tabuladors. No passa res.

dimecres 6 d'abril

Realitzaràs els exemples que s'han fet a classe. Concretament:

1.. SIGNAL

CREATE PROCEDURE AddOrderItem(...

CALL AddOrderItem(10,'S10_1678',1,95.7,1);

2. Funcions

CREATE FUNCTION CustomerLevel(...

SHOW FUNCTION STATUS WHERE db = 'classicmodels';

CREATE PROCEDURE GetCustomerLevel(...

CALL GetCustomerLevel(-131,@customerLevel);
SELECT @customerLevel;

3. Show functions:

SHOW FUNCTION STATUS WHERE db = 'classicmodels';
SHOW FUNCTION STATUS LIKE '%Customer%';

SELECT routine_name
FROM information_schema.routines
WHERE routine_type = 'FUNCTION'
AND routine_schema = 'classicmodels';

4. . Exemple

CREATE PROCEDURE get_order_by_cust(...

CALL get_order_by_cust(141,@shipped,@canceled,@resolved,@disputed);
SELECT @shipped,@canceled,@resolved,@disputed;

Entrega

Entregaràs un pdf amb captures de pantalla conforme que has executat els exercicis proposats. Dins del termini previst.


creat per Joan Quintana Compte, abril 2022