80 likes | 212 Views
INTRODUCCION AL SQL PROCEDURAL. Unidad 7. SQL PL. Es un subconjunto del SQL que proporciona construcciones de procedimiento que se pueden utilizar para implementar la lógica alrededor de las sentencias de SQL tradicionales.
E N D
INTRODUCCION AL SQL PROCEDURAL Unidad 7
SQL PL • Es un subconjunto del SQL que proporciona construcciones de procedimiento que se pueden utilizar para implementar la lógica alrededor de las sentencias de SQL tradicionales. • Lenguaje de programación de alto nivel incluye sentencias IF, ELSE, WHILE, FOR, ITERATE y GOTO, etc.
Procedimientos de SQL PL y de SQL • Pueden contener: • parámetros, variables, • sentencias de asignación, • 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 devolución de varios conjuntos de resultados al llamante o a la aplicación 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 createprocedurezapateria.ssum\G • Muestra la información 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;