Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 07-may-2008, 12:12   #1 (permalink)
mmb000 ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Información help! Store Procedures con DATEDIFF

Tengo un problema para crear un store procedure en Mysql 5.0

tengo una tabla llamada eventos con 5 tuplas, la fecha actual es 2008/05/07

---------|----------------|---------|
eid | event_date | active |
---------|----------------|---------|
1 |2008/05/01 | 1 |
---------|----------------|---------|
2 |2008/05/02 | 1 |
---------|----------------|---------|
3 |2008/05/03 | 1 |
---------|----------------|---------|
4 |2008/05/20 | 1 |
---------|----------------|---------|
5 |2008/05/21 | 1 |
---------|----------------|---------|

Lo que necesito es crear un store procedure que usando datediff, recorra TODOS los
valores de la tabla automaticamente y actualize la columna "active", con 0 para eventos pasados y mantenga el "1" si aun es un evento futuro.

Tengo el siguiente codigo que efectua la operacion pero enviando por parametro el id de la tupla:

DELIMITER $$

DROP PROCEDURE IF EXISTS event_update $$
CREATE PROCEDURE event_update (id int )
BEGIN

IF (id = 0) THEN
SET id = null;
END IF;

IF (id IS NOT NULL) AND ((SELECT DATEDIFF(curdate(),event_date) FROM eventos WHERE active='1' AND eid='id')<0)
THEN
UPDATE eventos SET active=0 WHERE eid='id';

END IF;
END $$

DELIMITER ;

Luego desde una hoja php, llamo el SP:
$myspcall = mysqli_query($dbc, "CALL event_update($id)");

esto me obliga ha primero efectuar una consulta, usar mysql_fetch_array() y pasar cada id por parametro.

Lo que necesito es hacer q la BD efectue el store procedure sin necesidad del parametro, es decir recorra toda la tabla y actualiza los valores comparando la fecha en la BD con la fecha actual.

Alguien puede ayudarme porfavor??
mmb000 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:20.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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