SOLUCIONADO Procedimiento para actulizar tabla en funcion de columna
Publicado por Willy (1 intervención) el 13/04/2014 03:51:26
Buenas,
Estoy intentando hacer un procedimiento en mysql para actualizar el campo id_activity en una tabla de casi un millon de registros, cogiendolo de otra tabla si la columna name coincide en ambas..
Expongo el codigo que intento meter desde el SQL de Phpmydmin:
El error que me devuelve Phpmyadmin es este:
Alguien sabe que estoy haciendo mal ?
EDIT: SOLUCIONADO-> Donde pone delimiter en phpmyadmin tenia que poner $$ ... xD
Gracias, Un saludo!
Estoy intentando hacer un procedimiento en mysql para actualizar el campo id_activity en una tabla de casi un millon de registros, cogiendolo de otra tabla si la columna name coincide en ambas..
Expongo el codigo que intento meter desde el SQL de Phpmydmin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
create procedure importar_id_activity()
begin
declare hasMoreRows bool default true;
declare _name varchar(50);
declare _id_activity int(11);
declare cur cursor for
select
ca.name,
ca.id_activity
from
temporal as ca
where
id_activity > 0
;
declare continue handler for SQLSTATE '02000'
set hasMoreRows = false;
open cur;
fetch cur into
_name,
_id_activity;
while hasMoreRows do
update
real
set
id_activity = _id_activity
where
name LIKE _name AND (id_activity IS NULL OR id_activity = 0)
;
fetch cur into
_name,
_id_activity;
end while;
close cur;
end;
El error que me devuelve Phpmyadmin es este:
1
2
3
4
5
6
7
8
consulta SQL:
CREATE PROCEDURE importar_id_activity( ) BEGIN DECLARE hasMoreRows BOOL DEFAULT TRUE ;
MySQL ha dicho: Documentación
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
Alguien sabe que estoy haciendo mal ?
EDIT: SOLUCIONADO-> Donde pone delimiter en phpmyadmin tenia que poner $$ ... xD
Gracias, Un saludo!
Valora esta pregunta


0