Sie sind auf Seite 1von 4

RUTINAS 1

CREACIN DE PROCEDIMIENTOS:

DELIMITER |
DROP PROCEDURE IF EXISTS NombreProcedimiento |
CREATE PROCEDURE NombreProcedimiento
(
[ [ IN | OUT | INOUT ] Parametro1 Tipo_dato,
[ IN | OUT | INOUT ] Parametro2 Tipo_dato, ..]
)
[ LANGUAGE SQL
| [ NOT ] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'Comentario' ]
BEGIN
Cuerpo del procedimiento
END |
DELIMITER ;

Para llamar a un procedimiento:

CALL NombreProcedimiento (ParametroEntrada1, ParametroEntrada2,. ,


@ParametroSalida1, @ParametroSalida2, .)

CREACIN DE FUNCIONES:

DELIMITER |
DROP FUNCTION IF EXISTS NombreFuncin |
CREATE FUNCTION NombreFuncin
(
[ Parametro1, Parametro2, .]
)
RETURNS Tipo_dato
[ LANGUAGE SQL
| [ NOT ] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'Comentario' ]
BEGIN
Cuerpo de la funcin
RETURN Resultado
END |
DELIMITER ;

Para llamar a una funcin:

[ SELECT | INSERT | UPDATE | DELETE ] NombreFuncin (Parametro1, Parametro2, ,) ..

MODIFICACIN DE PROCEDIMIENTOS Y FUNCIONES:

ALTER {PROCEDURE | FUNCTION} NombreRutina


[
{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'Comentario' ]
RUTINAS 2

BORRADO DE PROCEDIMIENTOS Y FUNCIONES:

DROP {PROCEDURE | FUNCTION} [IF EXISTS] NombreRutina

CREACIN DE TRIGGERS:

DELIMITER |
DROP TRIGGER IF EXISTS NombreDisparador |
CREATE TRIGGER NombreDisparador MomentoDisparo EventoDisparo
ON NombreTabla FOR EACH ROW Sentencia
BEGIN
Cuerpo del trigger
END |
DELIMITER;

MomentoDisparo:
BEFORE | AFTER

EventoDisparo:
INSERT | UPDATE | DELETE

Para referirnos al valor de la columna antes de la modificacin: old.NombreColumna


Para referirnos al valor de la columna despues de la modificacin: new.NombreColumna

BORRADO DE TRIGGERS:

DROP TRIGGER NombreTabla.NombreDisparador

OTRAS SENTENCIAS RELACIONADAS CON RUTINAS:

VARIABLES:

Declarar variables locales con DECLARE


DECLARE NombreVariable [,...] Tipo_Datos [DEFAULT ValorPorDefecto]

Asignar valores a las variables con SET


SET @NombreVariable1 = Expresin [ @NombreVariable2 = Expresin, .]

(La expresin puede ser una constante, una funcin, una variable, una operacin matemtica o
una select que devuelva un solo resultado.)
Para utilizar esas variables: SELECT @NombreVariable1, @NombreVariable2,

Asignar valores a una variable con SELECT


SELECT @NombreVariable := NombreColumna FROM .

Almacenar columnas en variables con SELECT INTO


SELECT NombreColumna1, [ Nombrecolumna2. .]
INTO NombreVariable1, NombreVariable2, FROM .

(La consulta tiene que devolver una sola fila)


RUTINAS 3

ESTRUCTURAS ALTERNATIVAS:

La sentencia IF

IF Condicin1 THEN lista de sentencias


[ELSEIF Condicin2 THEN lista de sentencias] ...
[ELSE lista de sentencias]
END IF

La sentencia CASE

CASE Expresin
WHEN Valor1 THEN lista de sentencias
[WHEN Valor2 THEN lista de sentencias] ...
[ELSE lista de sentencias]
END CASE

o:

CASE
WHEN Condicin1 THEN lista de sentencias
[WHEN Condicin2 THEN lista de sentencias] ...
[ELSE lista de sentencias]
END CASE

ESTRUCTURAS REPETITIVAS (BUCLES):

Sentencia LOOP

[Etiqueta_inicio:] LOOP
Lista de sentencias
END LOOP [Etiqueta_fin]
(Es necesario incluir una condicin de finalizacin)

Sentencia REPEAT

[Etiqueta_inicio:] REPEAT
Lista de sentencias
UNTIL Condicin
END REPEAT [Etiqueta_fin]

Sentencia WHILE

[Etiqueta_inicio:] WHILE Condicin DO


Lista de sentencias
END WHILE [Etiqueta_fin]
RUTINAS 4

OTRAS SENTENCIAS ASOCIADAS A BUCLES:

La sentencia LEAVE

LEAVE Etiqueta
(Para abandonar cualquier bucle o un bloque BEGINEND. Suele ir asociada a una
condicin)

La sentencia ITERATE

ITERATE Etiqueta
(Vuelve a repetir un bucle de tipo LOOP, REPEAT o WHILE)

MANIPULADORES DE ERROR:

DECLARE handlers

DECLARE TipoManipulador HANDLER FOR ValorCondicin [,...] sentencia;

TipoManipulador:
CONTINUE
| EXIT
| UNDO

ValorCondicin:
SQLSTATE [VALUE] Valor_estado
| Nombre_condicin
| SQLWARNING
| NOT FOUND
| SQLEXCEPTION
| CdigoError_MySQL

CURSORES:

DECLARE cursores

DECLARE NombreCursor CURSOR FOR SELECT. ;

Sentencia OPEN del cursor

OPEN NombreCursor

Sentencia de cursor FETCH

FETCH NombreCursor INTO Variable1 [, Variable2] ...

Sentencia de cursor CLOSE

CLOSE NombreCursor

Das könnte Ihnen auch gefallen