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

Repetir Acción

Estas en el tema de Repetir Acción en el foro de SQL Server en Foros del Web. La cosa es así, tengo una tabla: Cita: CREATE TABLE HelPJ( IDHELPJ INT IDENTITY(1,1) PRIMARY KEY, IDCUENTA VARCHAR(300) NOT NULL Unique, IPCUENTA VARCHAR(300) NOT NULL ...
  #1 (permalink)  
Antiguo 02/04/2011, 11:58
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Repetir Acción

La cosa es así, tengo una tabla:

Cita:
CREATE TABLE HelPJ(
IDHELPJ INT IDENTITY(1,1) PRIMARY KEY,
IDCUENTA VARCHAR(300) NOT NULL Unique,
IPCUENTA VARCHAR(300) NOT NULL Unique,
CORREO VARCHAR(300) NOT NULL Unique,
CLANACTUAL VARCHAR(300),
FECHACOMPLETA VARCHAR(300) NOT NULL,
VALORDELPJ VARCHAR(300) NOT NULL,
Otro1 VARCHAR(300),
Otro2 VARCHAR(300),
Otro3 VARCHAR(300),
Otro4 VARCHAR(300),
Otro5 VARCHAR(300),
);
Y lo que necesito hacer es un Job (MSSQL), el cual actualize los valores de cada fila en la columna CLANACTUAL tomando información de otra base de datos (en el mismo host).

No se como aria eso..., la unica forma que se me ocurre es con un While, pero tampoco tengo mucha idea de como iria bajando de fila en fila a medida que el while progrese con la actualización.

Alguien que me tire un Start así yo lo desarrollo plz! (se poco de MYSQL y MSSQL)

Gracias desde ya!
  #2 (permalink)  
Antiguo 02/04/2011, 14:26
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Repetir Acción

Ya lo pude solucionar:


Cita:
DECLARE @countmin int
DECLARE @countmax int
DECLARE @guild varchar(300)

SET @countmin = (SELECT TOP 1 IDHELPJ FROM UserLogin.dbo.HelPJ ORDER BY IDHELPJ ASC);
SET @countmax = (SELECT TOP 1 IDHELPJ FROM UserLogin.dbo.HelPJ ORDER BY IDHELPJ DESC);

WHILE (@countmin <= @countmax)
BEGIN
SET @guild = (SELECT GuildID FROM Tantra.dbo.TantraBackup00 WHERE UserID = (SELECT IDCUENTA FROM UserLogin.dbo.HelPJ WHERE IDHELPJ = @countmin));
IF @guild != 0
BEGIN
UPDATE UserLogin.dbo.HelPJ SET CLANACTUAL = @guild WHERE IDHELPJ = @countmin;
END
ELSE
BEGIN
UPDATE UserLogin.dbo.HelPJ SET CLANACTUAL = NULL WHERE IDHELPJ = @countmin;
END

SET @countmin = @countmin + 1

END
Me costó pero salio...

Etiquetas: repetir
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 10:50.