Foros del Web » Programando para Internet » ASP Clásico »

Actualizar muchos registros SQL de una vez

Estas en el tema de Actualizar muchos registros SQL de una vez en el foro de ASP Clásico en Foros del Web. Hola gente... Estoy armando un sistema donde los usuarios cargan sus datos. Uno de ellos es la fecha de nacimiento, que desde una formula en ...
  #1 (permalink)  
Antiguo 04/02/2010, 13:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Actualizar muchos registros SQL de una vez

Hola gente...
Estoy armando un sistema donde los usuarios cargan sus datos.
Uno de ellos es la fecha de nacimiento, que desde una formula en ASP calcula la edad. La carga y lectura funcionan muy bien.
El proble es este, cómo hago para que esa edad se actualice en su debido momento en la base. Necesito esto, porque el cliente puede hacer una búsqueda de usuarios filtrando por edad. Entonces me gustaría saber de qué manera puedo hacer que ese número cambie según la fecha, les dejo la formula que usa. Supongo que con un FOR se podría, pero soy principiante y esto ya se me va de las manos.
Muchas gracias, saludos.
Código __default:
Ver original
  1. [HIGHLIGHT="ASP"]
  2. dteNacimiento = rsPRENSA("mes") & "/" & rsPRENSA("dia") & "/" & rsPRENSA("anio")
  3.             IF (Month(dteNacimiento) > Month(Now)) OR (Month(dteNacimiento) = Month(Now) AND day (dteNacimiento) > day(now)) THEN
  4.                 nedad = datediff("yyyy",dteNacimiento,now()) - 1
  5.                 'response.write Anhos
  6.             ELSE
  7.                 nedad = datediff("yyyy",dteNacimiento,now())
  8.                 'response.write Anhos & "bla"
  9.             END IF
[/HIGHLIGHT]
  #2 (permalink)  
Antiguo 04/02/2010, 15:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Actualizar muchos registros SQL de una vez

Edad es uno de esos campos que no deberían estar en una tabla, primero por ser un campo calculado de fácil acceso con fecha de nacimiento, y segundo, por cosas como el problema que tienes, que es un campo que supondría actualización.

Yo en tu lugar sacaría ese campo de la tabla y modificaría el query de búsqueda para que regrese aquellos registros que hayan nacido en la fecha que coincida con la edad buscada
  #3 (permalink)  
Antiguo 04/02/2010, 16:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Actualizar muchos registros SQL de una vez

Gracias Myakire por la respuesta, está bueno lo que decís... cómo lo hago? =P Porque tendría 3 filtros aquellos que estén entre 18 y 24, 25 a 44 y 45 a 80... o sea, son rangos bastante grandes, son como unos cuantos cálculos no? podrás figurarme un poco cómo sería la resolución?
Muchas gracias.
Saludos
  #4 (permalink)  
Antiguo 04/02/2010, 17:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Actualizar muchos registros SQL de una vez

Bueno, eso realmente depende de la base de datos que estés utilizando, en sql server no tiene mayor chiste que algo como esto para el rango de 18 a 24 por ejemplo:

Código SQL:
Ver original
  1. SELECT Nombre, FechaNac, DateDiff(YEAR,FechaNac,getdate()) AS Edad
  2. FROM borrame
  3. WHERE DateDiff(YEAR,FechaNac,getdate()) BETWEEN 18 AND 24

Claro esta que los rangos deberían ser parámetros que enviarías de la opción que el cliente seleccione del combo de rangos

Igual si por la razón que quieras no quieres modificar tu forma de trabajar ahora, tendrías que hacer un JOB programado que se ejecute a diario que actualizara ese campo con un UPDATE similar a la consulta que te pongo de ejemplo

Saludos

Etiquetas: muchos, registros, 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 00:54.