introduccion al sql procedural

Post on 14-Feb-2016

24 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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 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;

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

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