Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

insert con una condicion

Estas en el tema de insert con una condicion en el foro de Mysql en Foros del Web. Bueno lo que quiero hacer es algo simple pero increiblemente no me sale ... el primer procedure busca un canal ... y devuelve un valor ...
  #1 (permalink)  
Antiguo 19/07/2011, 09:40
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
insert con una condicion

Bueno lo que quiero hacer es algo simple pero increiblemente no me sale ...
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:
create 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
proce grabar
Código:
create 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
aca me da un error

Código:
[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
que es justamente donde empieza el case ...
AYUDA PLZ !
  #2 (permalink)  
Antiguo 19/07/2011, 10:47
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: insert con una condicion

listo era un problema con las comas ... saque info de aca

http://www.nosolocodigo.com/control-...s-para-mysql-5

Etiquetas: insert, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:16.