aquí les agrego el código a ver si me pueden ayudar
use comercio_ext
declare @clase_com as integer,
@anyo as int,
@mes as int,
@via as int,
@aduana as int,
@pais as int,
@pais_o as int,
@franquicia as int,
@sac as char(8),
@capitulo as char(2),
@partida as char(2),
@subpartida as char(2),
@inciso as char(2),
@valor as decimal (23,4),
@t_valor as int,
@peso as decimal (23,4),
@unidades as decimal (11,0),
@flete as decimal (23,4),
@seguro as decimal (23,4),
@otro as decimal (23,4)
declare @cont as integer
declare @pos as integer
declare cur_com cursor for
select * from datos_globales where anyo = 1999 order by sac
Open cur_com
select @cont = 0
fetch next from cur_com
into @clase_com, @anyo, @mes, @via, @aduana, @pais, @pais_o, @franquicia,
@sac, @valor, @t_valor, @peso, @unidades, @flete, @seguro, @otro
while @@fetch_status = 0
begin
select @pos = 1
while @pos <= len(@sac)
begin
if @pos = 1
select @capitulo = substring(@sac,@pos,2)
select @pos = @pos + 2
if @pos = 3
select @partida = substring(@sac,@pos,2)
select @pos = @pos + 2
if @pos = 5
select @subpartida = substring(@sac,@pos,2)
select @pos = @pos + 2
if @pos = 7
select @inciso = substring(@sac,@pos,2)
Insert into datosg(clase_com, anyo, mes, via, aduana, pais, pais_o,
franquicia, capitulo, partida, subpartida, inciso, valor, t_valor, peso,
unidades, flete, seguro, otro)
values (@clase_com, @anyo, @mes, @via, @aduana, @pais, @pais_o,
@franquicia, @capitulo, @partida, @subpartida, @inciso, @valor, @t_valor,
@peso, @unidades, @flete, @seguro, @otro)
select @cont = @cont + 1
fetch next from cur_com
into @clase_com, @anyo, @mes, @via, @aduana, @pais, @pais_o, @franquicia,
@sac, @valor, @t_valor, @peso, @unidades, @flete, @seguro, @otro
print @cont
end
end
close cur_com
deallocate cur_com
go
Leer las respuestas