Escolar Documentos
Profissional Documentos
Cultura Documentos
11/04/2016
Objetivo
2
11/04/2016
Contexto
3
Cuando
consultamos
tablas
con
SELECT,
MySQL
arrojaba
rpidamente los registros en pantalla de
un solo golpe, sin embargo, hay
momentos donde se requiere acceder a
cada registro de forma individual.
Qu es un cursor?
4
11/04/2016
1. DECLARACION
6
11/04/2016
1. DECLARACION
7
ejemplo:
DECLARE cursor_edad CURSOR FOR
2. APERTURA
8
OPEN nombre_cursor;
Al abrir el cursor este sita un puntero a
donde inician las filas o registros de la
consulta
11/04/2016
3. LECTURA
9
3. LECTURA
10
11/04/2016
3. LECTURA
11
3. LECTURA 12
11/04/2016
3. LECTURA 13
--
-- trigger o PA
DECLARE ID INT;
DECLARE NOMBRE VARCHAR(100);
DECLARE APELLIDO VARCHAR(100);
DECLARE cursor_cliente CURSOR FOR SELECT employee_id,
firts_name, last_name FROM employees;
OPEN cursor_cliente;
FETCH cursor_cliente INTO ID,NOMBRE,APELLIDO; CLOSE
cursor_cliente;
3. LECTURA - Ejemplo
14
11/04/2016
3. LECTURA En un ciclo
15
3. LECTURA En un ciclo
16
11/04/2016
3. LECTURA En un ciclo
17
4. CIERRE
18
CLOSE nombre_cursor;
11/04/2016
Ejemplo Ciclo
19
delimiter //
create procedure ciclo_fetch()
BEGIN
DECLARE ID INT;
DECLARE NOMBRE VARCHAR(100);
DECLARE APELLIDO VARCHAR(100);
DECLARE FIN BOOLEAN DEFAULT 0;
DECLARE cursor_cliente CURSOR FOR SELECT employee_id, firSt_name, last_name
FROM employees;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET FIN=1;
OPEN cursor_cliente;
-- Contina en la siguiente pgina
Ejemplo Ciclo
20
10
11/04/2016
Referencias de inters
11
11/04/2016
Referencias de inters
23
24
11/04/2016
12
11/04/2016
Mis apuntes
25
Mis apuntes
26
13