Transcript
Page 1: INTRODUCCION AL SQL PROCEDURAL

INTRODUCCION AL SQL PROCEDURAL

Unidad 7

Page 2: INTRODUCCION AL SQL PROCEDURAL

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.

Page 3: INTRODUCCION AL SQL PROCEDURAL

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

Page 4: INTRODUCCION AL SQL PROCEDURAL

Ejemplo 1

mysql>use bibliomysql> 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;

Page 5: INTRODUCCION AL SQL PROCEDURAL

Ejemplo 2mysql>use zapateriamysql> 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 información en el procedimiento indicado

Page 6: INTRODUCCION AL SQL PROCEDURAL

Ejemplo 3mysql>use zapateriamysql> 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;


Top Related