martes, 20 de noviembre de 2012

Cursores

¿Cuando Debemos Usar Un Cursor?


Los cursores se utilizan para manejar las sentencias SELECT. Un cursor esta formado por un conjunto de registros devueltos por una instrucción SQL del tipo SELECT. Desde un punto de visto interno a la base de datos, los cursores son segmentos de memoria utilizados para realizar operaciones con los registros devueltos tras ejecutar una sentencia SELECT.

¿Como Crear Y Llamar Un Proceso En Mysql?


Un procedimiento es un subprograma que ejecuta una acción específica y que no devuelve ningún valor. Un procedimiento tiene un nombre, un conjunto de parámetros (opcional) y un bloque de código.


   CREATE 

   PROCEDURE <nombre_procedure> [(<param1> [IN|OUT|IN OUT]     
                                 <type>, <param2> [IN|OUT|IN OUT]      
                                 <type>, ...)] 

   BEGIN 

             -- Sentencias
   END;



La lista de parámetros entre paréntesis debe estar siempre presente. Si no hay parámetros, se debe usar una lista de parámetros vacía ( ) . Cada parámetro es un parámetro IN por defecto. Para especificar otro tipo de parámetro, use la palabra clave OUT o INOUT antes del nombre del parámetro. Especificando IN, OUT, o INOUTsólo es valido para una PROCEDURE.

Al especificar el tipo de dato del parámetro no debemos especificar la longitud del tipo.

Los parámetros pueden ser de entrada (IN), de salida (OUT) o de entrada salida (IN OUT). El valor por defecto es IN, y se toma ese valor en caso de que no especifiquemos nada.

¿Como Crear Una Función?

Las variables en las funciones se declaran con la sentencia DECLARE, y se asignan valores con la sentencia SET. Esta variable es de ámbito local, y será destruida una vez finalice la función. Si se desea asignar un valor por defecto a la variable en el momento de declararla se puede utilizar la sentencia DEFAULT junto con la sentencia DECLARE. Aquí teneis el ejemplo:
       CREATE FUNCTION HolaMundo() RETURNS VARCHAR(30)
       BEGIN
         DECLARE salida1 VARCHAR(30) DEFAULT 'Hola';
         DECLARE salida2 VARCHAR(30);


         SET salida2 = ' mundo';
         RETURN CONCAT(salida1,salida2);
       END
;


Para crear función con parámetros:

      CREATE FUNCTION HolaMundo(entrada VARCHAR(30)) RETURNS             
      VARCHAR(30)

      BEGIN

        DECLARE salida VARCHAR(30);
        SET salida = entrada;
        RETURN salida;

     END;

Para llamar a esta función:

     SELECT HolaMundo('Hola Mundo');




No hay comentarios:

Publicar un comentario