DAM - DAW - MP 0484 Bases de Dades
Entorn de treball
Abans de començar a escriure codi cal tenir present que les sentències SQL finalitzen en punt i coma (;) i les instruccions que posarem en el llenguatge procedimental també.
Això provocaria que per a crear les funcions o procediments, en posar el primer punt i coma (;), el sistema creurà que ha finalitzat la instrucció i ens donarà error.
The SELECT function is used to generate a sequence of numbers.
ERROR #1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MariaDB server version * * *
-
Abans de crear un procediment, funció o trigger caldrà canviar el delimitador.
-
Per a treballar en extensió procedimental utilitzarem l’entorn del DBeaver o bé del CMD.
-
Abans executarem la comanda
DELIMITER //que farà que les sentències hagin d’acabar en//i després podrem tornar a deixar-ho tot normal executant la comandaDELIMITER ; -
Per simplificar farem servir la fórmula
OR REPLACEen el moment de la creació del codi.
Per assegurar-nos de tenir permisos crearem una nova base de dades, pft, i donarem permisos a l’usuari usuari@localhost per a fer qualsevol acció sobre qualsevol objecte.
CREATE DATABASE pft;
GRANT ALL PRIVILEGES ON pft.* TO usuari@localhost;
Exemples
mysql -u usuari -pusuari pft
DELIMITER //
BEGIN NOT ATOMIC
SELECT USER(), CURRENT_DATE();
SELECT CURRENT_DATE() - INTERVAL 1 DAY AS "Ahir";
END;
//
DELIMITER ;
Sortida de dades
En un procediment o bloc anònim, qualsevol SELECT que fem sense INTO es mostrarà en la Consola en el moment de l’execució.
Per una millor visualització dels resultats podem utilitzar en la comanda mysql:
-
-N, --skip-column-names: per a no veure els noms de columnes -
-s, --silent: Mostra les columnes separades per tabulador

