Error en SP
Publicado por Antonio Mateo (1 intervención) el 12/06/2012 22:28:42
Buen dia gente Linda!!!
Estoy teniendo un problema con un Sp de Mysql.
el problema es que cuando ejecuto el sp la linea 70 (Limit inicio,fin;) emite un error... ya me fije y re fije si hay algun otro problema y nada.. es mas.. llegue a comentar esa linea para ver si hay algun problema... y comentando esa linea funciona de lo mas bien... pero con ella da error, ya revise documentacion de mysql y segun lo que vi, la sentencia es la correcta...
Acudo a los expertos para ver si me dan una ayuda con esto que la verdad estoy ya varios dias con la lucha esta....
Dejo el codigo completo para que lo puedan analizar.
Estoy teniendo un problema con un Sp de Mysql.
el problema es que cuando ejecuto el sp la linea 70 (Limit inicio,fin;) emite un error... ya me fije y re fije si hay algun otro problema y nada.. es mas.. llegue a comentar esa linea para ver si hay algun problema... y comentando esa linea funciona de lo mas bien... pero con ella da error, ya revise documentacion de mysql y segun lo que vi, la sentencia es la correcta...
Acudo a los expertos para ver si me dan una ayuda con esto que la verdad estoy ya varios dias con la lucha esta....
Dejo el codigo completo para que lo puedan analizar.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
--
-- Definition of procedure `a_consulta_amigos`
--
DROP PROCEDURE IF EXISTS `a_consulta_amigos`;
DELIMITER $$
/*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, SQL_MODE='' */ $$
CREATE PROCEDURE `a_consulta_amigos`(
IN usuarioencriptado varchar(50),
IN filtro varchar(1),
IN inicio INT,
IN fin INT
)
BEGIN
DECLARE usuariodesencriptado bigint;
select idusuario into usuariodesencriptado from usuarios where encriptado = usuarioencriptado;
if (inicio = '' and fin = '')
then
if (filtro != '')
then
SELECT usr.idusuario,usr.nombre,usr.apellido,am.valor,am.fecha,
Case (select valor from amigos where idusuario1 = usuariodesencriptado and idusuario2=am.idusuario2)
when '1' then usr.publico
when '2' then usr.personal
when '3' then usr.profesional
when '4' then usr.profesional
when '5' then usr.publico
when '6' then usr.personal
when '7' then usr.publico
else usr.publico end as foto, encriptado
FROM `amigos` am
INNER JOIN usuarios usr on (usr.idusuario = am.idusuario2)
INNER JOIN configuraciones conf ON (usr.idusuario = conf.idusuario)
WHERE idusuario1 = usuariodesencriptado and usr.nombre like CONCAT(filtro,"%");
else
SELECT usr.idusuario,usr.nombre,usr.apellido,am.valor,am.fecha,
Case (select valor from amigos where idusuario1 = usuariodesencriptado and idusuario2=am.idusuario2)
when '1' then usr.publico
when '2' then usr.personal
when '3' then usr.profesional
when '4' then usr.profesional
when '5' then usr.publico
when '6' then usr.personal
when '7' then usr.publico
else usr.publico end as foto, encriptado
FROM `amigos` am
INNER JOIN usuarios usr on (usr.idusuario = am.idusuario2)
INNER JOIN configuraciones conf ON (usr.idusuario = conf.idusuario)
WHERE idusuario1 = usuariodesencriptado;
end if;
else
if (filtro != '')
then
SELECT usr.idusuario,usr.nombre,usr.apellido,am.valor,am.fecha,
Case (select valor from amigos where idusuario1 = usuariodesencriptado and idusuario2=am.idusuario2)
when '1' then usr.publico
when '2' then usr.personal
when '3' then usr.profesional
when '4' then usr.profesional
when '5' then usr.publico
when '6' then usr.personal
when '7' then usr.publico
else usr.publico end as foto, encriptado
FROM amigos am
INNER JOIN usuarios usr on (usr.idusuario = am.idusuario2)
INNER JOIN configuraciones conf ON (usr.idusuario = conf.idusuario)
WHERE idusuario1 = usuariodesencriptado and usr.nombre like CONCAT(filtro,"%")
LIMIT inicio, fin;
else
SELECT usr.idusuario,usr.nombre,usr.apellido,am.valor,am.fecha,
Case (select valor from amigos where idusuario1 = usuariodesencriptado and idusuario2=am.idusuario2)
when '1' then usr.publico
when '2' then usr.personal
when '3' then usr.profesional
when '4' then usr.profesional
when '5' then usr.publico
when '6' then usr.personal
when '7' then usr.publico
else usr.publico end as foto, encriptado
FROM `amigos` am
INNER JOIN usuarios usr on (usr.idusuario = am.idusuario2)
INNER JOIN configuraciones conf ON (usr.idusuario = conf.idusuario)
WHERE idusuario1 = usuariodesencriptado
Limit inicio, fin;
end if;
end if;
END $$
/*!50003 SET SESSION SQL_MODE=@TEMP_SQL_MODE */ $$
DELIMITER ;
Valora esta pregunta


0