select 'Insert into MovProcessosLinhas (Tipo,Numero,Ano,Identifica) VALUES (''' + MP.Tipo + ''',''' + MP.Numero +''',''' + MP.Ano + ''',' + convert(varchar(50),MP.NumRegisto) + ')' from MovProcessos as MP where (select count(*) from MovProcessosLinhas as MPL where MPL.Tipo=MP.Tipo and MPL.Numero=MP.Numero and MPL.Ano=MP.Ano)=0 order by MP.Ano,MP.NumRegisto select ParamGeral.ProdDiversos , produtos.Descricao,produtos.UnidadeVenda,produtos.IvaTabVenda,Produtos.IvaTaxaVenda from ParamGeral inner join produtos on produtos.codigo=ParamGeral.ProdDiversos Declare @Produto varchar(15) set @Produto=(select ParamGeral.ProdDiversos from ParamGeral ) Declare @ProdutoDescricao varchar(50) set @ProdutoDescricao=(select Descricao from produtos where codigo=@Produto ) Declare @Unidade varchar(3) set @Unidade=(select UnidadeVenda from produtos where codigo=@Produto ) Declare @IvaTabVenda varchar(2) set @IvaTabVenda=(select IvaTabVenda from produtos where codigo=@Produto ) Declare @IvaTaxaVenda money set @IvaTaxaVenda=(select IvaTaxavenda from produtos where codigo=@Produto ) --Update MovProcessosLinhas set produto=@Produto,Descricao=@ProdutoDescricao,Unidade=@Unidade,TabIva=@IvaTabVenda,TaxaIva=@IvaTaxaVenda ,ObsLinha='Registo reconstruído',Preco=0,Quantidade=1,ValorIliquido=0,ValorDesconto=0,ValorIva=0,DescontoPer1=0,DescontoPer2=0,DescontoPer3=0,ValDesconto1=0,ValDesconto2=0,ValDesconto3=0,TaxaIRS=0,IncidIRS=0,ValorIRS=0,OrigemData='',OrigemSeccao='',ImpostoSujeitoIVA=0,ImpostoNaoSujeitoIVA=0,ImpostoIVA=0,Referencias='',CampoAuxiliar1='',CampoAuxiliar2='',CampoAuxiliar3='' where produto is Null --select * from MovProcessosLinhas where substring(ObsLinha,1,50)='Registo reconstruído' Insert into MovProcessosLinhas (Tipo,Numero,Ano,Identifica) (Select MP.Tipo, MP.Numero, MP.Ano, Convert(varchar (40), MP.NumRegisto) from MovProcessos as MP Where (select count(*) from MovProcessosLinhas as MPL where MPL.Tipo=MP.Tipo and MPL.Numero=MP.Numero and MPL.Ano=MP.Ano)=0 )