Foros del Web » Programando para Internet » PHP »

Procedimiento almacenado mysql

Estas en el tema de Procedimiento almacenado mysql en el foro de PHP en Foros del Web. Hola alguen me pudiera ayudar , estoy intentando hacer un procedimiento almacenado mysql para poder validar en una tabla si exite el correo antes de ...
  #1 (permalink)  
Antiguo 30/08/2012, 16:43
Avatar de j_danielperu  
Fecha de Ingreso: julio-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Procedimiento almacenado mysql

Hola alguen me pudiera ayudar , estoy intentando hacer un procedimiento almacenado mysql para poder validar en una tabla si exite el correo antes de insertarlo a la tabla, pero mi codigo no funciona, a ver si me pueden ayudar, aqui dejo el codigo:

CREATE procedure procedimiento(IN ven varchar(150),IN cor varchar(250),IN tele int(11))
begin
declare v int;
/*Aca parece que en la variable V no se guarda el resultado de la consulta*/
SET v ='select count(correo) from vendedores where correo=cor';

/* Acá me sale error */
if v = 1 then
insert into vendedores values (null,ven,cor,tele);
SELECT "Se ingreso el nuevo vendedor!";
else
SELECT "¡ Ingresar otro correo por favor, este correo ya esta generado !";

end if;

end


Nota: A mí me parece que en la variable v no se guarda el resultado de la consulta no se por que, a ver alguen que sabe de esto me pueda ayudar gracias.
  #2 (permalink)  
Antiguo 30/08/2012, 17:37
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Procedimiento almacenado mysql

vos lo que tenes que validar es si existe, entonces lo que haces es un select con un where como condición de ese email, si existe, hace tal cosa, sino lo insertas.

Código PHP:
Ver original
  1. $consulta = select email from tabla where email = $email
  2. $resultado = mysql_query($consulta,$conexion);
  3. if(mysql_num_rows($resultado > 0){
  4. echo "ya existe ese email";
  5. }else{
  6. //HACES EL INSERT INTO....
  7. }

algo así.

Última edición por rodrigo791; 30/08/2012 a las 17:43
  #3 (permalink)  
Antiguo 30/08/2012, 22:54
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Procedimiento almacenado mysql

Hola j_danielperu el va a tomar la variable v textual, es decir, v no puede ejecutar el query que deseas,
para hacer eso que necesitas puedes probar con esto...

SET @v = ("SELECT COUNT(correo) FROM vendedores WHERE correo= 'cor';");--aqui seteas la variable con el query
PREPARE stmt FROM @v; --prepara la variable para que sea un query
EXECUTE stmt;-- aqui ejecuta el query

De esta forma puedes almacenar los querys en variables y ejecutarlos con la sentencia "EXECUTE stmt"...
Prueba de esta forma, yo lo utilizo así en mis procedimientos de almacenado...
Espero que te sirva...

Etiquetas: mysql, procedimiento, tabla, almacenar, variables
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 07:56.