introduccion al sql procedural

6
INTRODUCCION AL SQL PROCEDURAL Unidad 7

Upload: lassie

Post on 14-Feb-2016

22 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

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;