ESTE ES MI CODIGO
AQUI CREO MI TABLA TEMPORAL DE AQUI PASA A LA TABLA FIJA, LA CREE PARA VER TODOS LOS REGISTROS Y LUEGO ACTUALIZAR LA COLUMNA comp_registro
Código:
Aqui hago mi consulta y me traigo la informacion de mi BD's a mi #tabla create table #temp (comp_cod varchar (20), pres_ano int, comp_registro int, id_item varchar (200), ac_proy_cod varchar (50), ac_proy_tipo int, acesp_cod int, monto int, detalle varchar (50))
Código:
me muestra declare @comp_cod varchar (20), @pres_ano int, @comp_registro int, @id_item varchar (200), @ac_proy_cod varchar (50), @ac_proy_tipo int, @acesp_cod int, @monto int, @detalle varchar (50), @fin1 int insert into #temp select comp_cod= 'nom'+ replicate(0,5-len(a.codnom))+convert (varchar,a.codnom), pres_ano= a.anioa , comp_registro='', from SWNOMMSSQL000002.dbo.swnompta a left OUTER JOIN dbo.swnomhmv b on a.codnom= b.codnom where mesa = 6 and dia between 1 and 15 and tipcon = 'A' and anioa =2011 and frecuencia in (2,3,7,12,16,18) group by a.codnom, a.codcon, a.anioa order by a.codnom, a.codcon select * from #temp
comp_cod.................... pres_ano...........................comp_registro.. ...... mas columnas
nom00739.....................2011 ........................................ 0
nom00744.....................2011 ........................................ 0
nom00744.....................2011................. ........................ 0
nom00744.....................2011 .........................................0
aqui hago mi cursor
Código:
y me quede aqui..... El hecho es que cree el cursor para que me muestreDECLARE nom_cursor cursor for select * from #temp for update of comp_registro OPEN nom_cursor fetch next from nom_cursor into @comp_cod, @pres_ano, @comp_registro, @id_item, @ac_proy_cod, @ac_proy_tipo, @acesp_cod, @monto, @detalle while @@FETCH_STATUS=0 and @comp_registro = 0 update SWNOMMSSQL000002..#temp set comp_registro = @comp_registro where current of nom_cursor end FETCH next from nom_cursor into @comp_cod, @pres_ano, @comp_registro, @id_item, @ac_proy_cod, @ac_proy_tipo, @acesp_cod, @monto, @detalle end close nom_cursor deallocate nom_cursor
la tabla asi
comp_cod................... pres_ano..................... comp_registro........ mas columnas
nom00739......................2011 .................................... 1
nom00744.....................2011................. .......................1ES 1 OTRA ES PORQUE ES OTRO COMP_COD
nom00744 .....................2011......................... ............. 2
nom00744...................... 2011 ..................................... 3
Cada vez que el comp_cod se diferente al que esta agregando, se inicializa el contador... no se si me explico