Anda di halaman 1dari 5

Procedimientos almacenados

1) Uso de la palabra DECLARE


Declare se utiliza para declarar variables de un tipo de dato determinado, si a la vez de la
declaracin se desea establecer el valor inicial de una variable se utiliza la palabra DEFAULT mas el
valor por defecto acorde al tipo de dato con el que se declaro la variable en cuestin.

Ejemplo:

DECLARE variable INT(11) DEFAULT 3;

Para establece el valor de la variable una vez declarada se utiliza la funcin SET

Ejemplo:

SET variable = (SELECT 1);

2) Instrucciones de control de flujo


Definicin IF

Ejemplo:

IF condicin THEN

Secuencia de instrucciones

END IF

Definicin IF ELSEIF

Ejemplo:

IF condicin THEN

Secuencia de instrucciones

ELSEIF condicin2 THEN

Secuencia de instrucciones

END IF;

Note que en este caso la primera fase del IF no cierra hasta que se englobe todos los ELSE
necesarios
Definicin CASE WHEN

Ejemplo:

CASE WHEN condicin THEN

Secuencia de instrucciones

ELSE

Secuencia de instrucciones

END CASE;

Definicin CASE varibale WHEN condicion

Ejemplo:

CASE variable WHEN condicin THEN

Secuencia de instrucciones

WHEN condicin THEN

Secuencia de instrucciones

WHEN condicin THEN

ELSE (opcional)

END CASE;

Definicin de ciclo WHILE

Ejemplo:

WHILE condicin DO

Secuencia de instrucciones

END WHILE;
3) Funciones especiales
substring(cadena, posicion)

Realiza el corte de una cadena a partir de la posicin indicada

substring(cadena, posicin, longitud)

Realiza el corte de una cadena a partir de la posicin indicada y cuenta cuantos caracteres
deber cortar.

4) Declaracin y uso de cursores


DECLARE nombre_cursor CURSOR FOR sentencia_select;

OPEN cursor_nombre

FETCH cursor_nombre INTO nombre_variable

BEGIN

DECLARE variable INT(11) DEFAULT 3;

DECLARE variable2 INT(11) DEFAULT 0;

DECLARE cursor1 CURSOR FOR SELECT * FROM jos_dependencias;

SET variable = (SELECT 1);

WHILE variable = 1 DO

SET variable2 = variable2 + 1;

IF variable2 = 10 THEN
SET variable = 2;

END IF;

END WHILE;

/*FETCH variable INTO variable;*/

OPEN cursor1;

FETCH cursor1 INTO variable2;

SELECT variable2;

SELECT SUBSTRING('HOLA como', 2, 2);

/*

FOR variable TO 5 DO

SET variable2 = variable2 + 1;

IF variable2 = 10 THEN

SET variable = 2;

END IF;

END FOR;

*/

SELECT variable2;

CASE variable WHEN variable = 1 THEN

SELECT 50;

WHEN variable = 2 THEN

select 68;
ELSE

SELECT 60;

END CASE;

IF variable = 1 THEN

INSERT INTO jos_anuncio VALUES (variable, variable, variable);

SELECT 2;

ELSE

SELECT 4;

END IF;

IF variable = 1 THEN

INSERT INTO jos_anuncio VALUES (variable, variable, variable);

SELECT 2;

ELSEIF variable = 3 THEN

SELECT 4;

ELSEIF variable = 5 THEN

SELECT 80;

END IF;

END

Anda mungkin juga menyukai