Update a todos los registros una tabla

31/08/2005 - 17:34 por Hernan Nieto | Informe spam
Hola:

Tengo una tabla con aprox. 30.000 usuarios, cada uno de ellos con 12
registros, necesito actualizarles un campo periodo, con: año, mes, dia.
Donde en todos año 05 para todos, y mes=del 1 al 12 para cada registro de
cada usuario, dia para todos.
Existe una forma de hacerlo mediante un ciclo para actualizarle a cada
usuario, cada usuario esta si o si 12 veces en la tabla, que corresponde a
los 12 meses del año. Si me pueden ayudar, se los agradecere. Espero haber
sido mas o menos claro.

Saludos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
31/08/2005 - 18:00 | Informe spam
Hernan,

Pudieras postear algo de la estructura de la tabla y decirnos que columna(s)
podemos usar como criterio para identificar cada fila en la tabla a que mes
de determinado usuario corresponde?


Saludos,

AMB

"Hernan Nieto" wrote:

Hola:

Tengo una tabla con aprox. 30.000 usuarios, cada uno de ellos con 12
registros, necesito actualizarles un campo periodo, con: año, mes, dia.
Donde en todos año 05 para todos, y mes=del 1 al 12 para cada registro de
cada usuario, dia para todos.
Existe una forma de hacerlo mediante un ciclo para actualizarle a cada
usuario, cada usuario esta si o si 12 veces en la tabla, que corresponde a
los 12 meses del año. Si me pueden ayudar, se los agradecere. Espero haber
sido mas o menos claro.

Saludos.




Respuesta Responder a este mensaje
#2 Hernan Nieto
01/09/2005 - 00:02 | Informe spam
Gracias por contestar.
La tabla tiene un identificador unico de la persona, que se encuentra en el
campoAGENTE (en hexadecimal). El identificador se repite una vez por cada
mes del año, para cada uno de los agentes, ya que corresponde al descuento
de ganancias mensual que tuvo el agente. Yo necesito ingresarle en el campo
PERIDO de ese descuento, en el formato DATETIME(), indicando:año,mes,dia
(2005/numero de mes/01). El campo OBJECTID, es un campo de identidad unica
de cada registro.

CREATE TABLE [RESUMEN_MENSUAL] (
[OBJECTID] [binary] (10) NOT NULL ,
[AGENTE] [binary] (10) NULL ,
[PERIODO] [datetime] NULL
)

Espero que sirva lo que te envio.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
01/09/2005 - 15:07 | Informe spam
Hernan,

Entiendo lo que quieres hacer. Pero no veo un criterio que pueda usar para
identificar a cual fila le asigno mes 1 y a cual mes 12.

Trata con el sgte script.

use northwind
go

CREATE TABLE [RESUMEN_MENSUAL] (
[AGENTE] [binary] (10) NULL ,
[PERIODO] [datetime] NULL
)
go

insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(1, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(2, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
insert into [RESUMEN_MENSUAL] values(3, null)
go

alter table [RESUMEN_MENSUAL]
add c1 int not null identity constraint u_c1 unique
go

update [RESUMEN_MENSUAL]
set [PERIODO] = cast('2005' + right('0' + ltrim((
select
count(*)
from
[RESUMEN_MENSUAL] as a
where
a.[AGENTE] = [RESUMEN_MENSUAL].[AGENTE]
and a.c1 <= [RESUMEN_MENSUAL].c1
)), 2) + '01' as datetime)
go

alter table [RESUMEN_MENSUAL]
drop constraint u_c1
go

alter table [RESUMEN_MENSUAL]
drop column c1
go

select *
from [RESUMEN_MENSUAL]
order by [AGENTE], [PERIODO]
go



AMB

"Hernan Nieto" wrote:

Gracias por contestar.
La tabla tiene un identificador unico de la persona, que se encuentra en el
campoAGENTE (en hexadecimal). El identificador se repite una vez por cada
mes del año, para cada uno de los agentes, ya que corresponde al descuento
de ganancias mensual que tuvo el agente. Yo necesito ingresarle en el campo
PERIDO de ese descuento, en el formato DATETIME(), indicando:año,mes,dia
(2005/numero de mes/01). El campo OBJECTID, es un campo de identidad unica
de cada registro.

CREATE TABLE [RESUMEN_MENSUAL] (
[OBJECTID] [binary] (10) NOT NULL ,
[AGENTE] [binary] (10) NULL ,
[PERIODO] [datetime] NULL
)

Espero que sirva lo que te envio.



Respuesta Responder a este mensaje
#4 Hernan Nieto
02/09/2005 - 13:45 | Informe spam
Alejandro,

No puede ser!!!!!. Son un genio. Funciono bien el script. No quiero seguir
con elogios hacia ti, muchisimas gracias.

Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida