el primer procedure busca un canal ... y devuelve un valor numerico si encuentra algo
si encuentra algo significa que el registro existe y ya no tengo que ingresarlo nuevamente .... pero sino devuelve nada hago un insert ... la cosa va mas o menos asi ....
proce buscar
Código:
proce grabarcreate procedure averias.buscarCanal(in nombre varchar(100), in numeroCanal int, in pais int, out flag1 int, out flag2 int) BEGIN select count(canal_idcanal) into flag1 from canalxpais where chid = numeroCanal and pais_idpais = pais; select count(idcanal) into flag2 from canal where nom_canal = nombre; END
Código:
aca me da un errorcreate procedure averias.grabarCanal(in nombre varchar(100), in genero varchar(45), in numeroCanal int, in tipo int, in mux int, in pais int) BEGIN DECLARE flag INTEGER DEFAULT 0; call buscarCanal(pais,nombre); set flag = @flag1 + @flag2; case flag when 0 then into canal(nom_canal,genero,origen_idorigen,tipo_canal_idtipo_canal,mux_idmux) values ('nombre','genero', null ,1,1,1) ELSE "canal ya existe" END CASE; END
Código:
que es justamente donde empieza el case ...[Err] 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 'case flag when 0 then insert into canal(nom_canal,genero,origen_idorigen,t' at line 6
AYUDA PLZ !