lunes, 19 de noviembre de 2012

Actividad cursores




¿Cuándo debemos usar cursores?

Se utilizan cuando la sentencia SELECT devuelve un solo registro.

¿Como crear y llamar un proceso en mysql?

Para crearlo se usa:

CREATE PROCEDURE ejemplo()

BEGIN
mysql> call ejemplo;
RETURNS type
[characteristic ...] routine_bodydonde:
[ IN | OUT | INOUT ] param_name typetype:
Any valid MySQL data type
characteristic:
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
routine_body:
Ejemplo:
DELIMITER $;
CREATE PROCEDURE precioDolar(
OUT fechas DATE,
OUT precioActual DECIMAL(8,4)
)
BEGIN
DECLARE c CURSOR
FOR SELECT fecha, precio
FROM dolar
WHERE fecha = (SELECT MAX(fecha) FROM dolar);
SET precioActual = 0;
OPEN c;
fechas, precioActual;
CLOSE c;
CERRAMOSEND$
DELIMITER ;
CALL precioDolar(@fecha,@precio);
@fecha, @precio;


¿Como crear Una funcion en mysql?

Con la sintaxis:

CREATE FUNCTION sp_name ([parameter[,...]])
parameter:
LANGUAGE SQL
DROP PROCEDURE IF EXISTS precioDolar;

No hay comentarios:

Publicar un comentario