Está en la página 1de 6

INTRODUCCION AL SQL

PROCEDURAL
Unidad 7

SQL PL
Es un subconjunto del SQL que
proporciona construcciones de
procedimiento que se pueden utilizar
para implementar lalgica alrededor
de las sentencias de SQL tradicionales.
Lenguaje de programacin de alto nivel
incluye sentencias IF, ELSE,WHILE,
FOR, ITERATE y GOTO, etc.

Procedimientos de SQL PL y
de SQL
Pueden contener:
parmetros, variables,
sentencias de asignacin,
sentencias de control de SQL PL y sentencias de SQL
compuestas.

Dan soporte a un potente mecanismo de:


manejo de errores y condiciones,
a las llamadas anidadas y repetitivas
a la devolucin de varios conjuntos de resultados al
llamante o a la aplicacin cliente.

Sintaxis:
CREATE PROCEDURE sp_name ([parameter[,...]])
[characteristic ...] routine_body

Ejemplo 1
mysql>use biblio
mysql> delimiter //
mysql> CREATE PROCEDURE contador (OUT var1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO var1 FROM libros;
-> END
-> //
mysql> delimiter ;
mysql> CALL contador(@a);
mysql> SELECT @a;

Ejemplo 2
mysql>use zapateria
mysql> delimiter //
mysql> CREATE PROCEDURE ssum (OUT a1 INT)
-> BEGIN
-> SELECT SUM(existencia) INTO a1 FROM inventario;
-> END
-> //
mysql> delimiter ;
mysql> CALL simpleproc(@b);
mysql> SELECT @b;
show create procedure zapateria.ssum\G
Muestra la informacin en el procedimiento indicado

Ejemplo 3
mysql>use zapateria
mysql> delimiter //
mysql> CREATE PROCEDURE sumyprom (OUT a1 INT, OUT
a2 INT)
-> BEGIN
-> SELECT SUM(existencia) INTO a1 FROM inventario;
-> SELECT AVG(precio) INTO a1,a2 FROM inventario;
-> END
-> //
mysql> delimiter ;
mysql> CALL sumyprom(@a,@b);
mysql> SELECT @a,@b;

También podría gustarte