Boa noite a Todos, Esta é minha primeira postagem no forum. Estou tentando criar uma procedure simples, que apenas lê registros de algumas tabelas e grava em uma tabela temporária que utilizo em seguida. Porêm, tem acontecido um problema. Eu só consigo executar a procedure uma vez no programa que desenvolvi, quando executo a segunda vez, não escreve nenhum registro na tabela temporária. Acredito ser algum problema com o @@Fetch_status que não está zerando após a execução da proc. Já tentei fazer de tudo e nada funciona. Segue o código que utilizo na minha procedure: USE [Garma] GO /****** Object: StoredProcedure [dbo].[SPED_Layout_19] Script Date: 07/11/2012 22:19:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER Procedure [dbo].[SPED_Layout_19](@Tipo_Arquivo as varchar(255), @Data_Inicial varchar(255), @Data_Final varchar(255) ) as begin if object_id('tempdb.dbo.##TMPLayout19') is not null drop table ##TMPLayout19 create table ##TMPLayout19(linha varchar(MAX)) DECLARE @numnota varchar(10); DECLARE @sequencial int; set @numnota = 0; set @sequencial = 1; -- NOTAS IF @Tipo_Arquivo = 'E' BEGIN DECLARE _cur CURSOR FOR SELECT N.Numnf FROM NFC N WHERE N.Datarec BETWEEN CONVERT(DATETIME,@Data_Inicial,103) AND CONVERT(DATETIME,@Data_Final,103) OPEN _cur WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM _cur into @numnota insert into ##TMPLayout19(linha) (SELECT GIGANTE QUE FUNCIONA RSRS) set @sequencial += 1; END close _cur; DEALLOCATE _cur; END IF @Tipo_Arquivo = 'S' BEGIN DECLARE _cur CURSOR FOR SELECT N.Nota FROM Notas N WHERE N.Emissao BETWEEN CONVERT(DATETIME,@Data_Inicial,103) AND CONVERT(DATETIME,@Data_Final,103) OPEN _cur WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM _cur into @numnota insert into ##TMPLayout19(linha) (SELECT GIGANTE QUE FUNCIONA RSRS) set @sequencial += 1; END close _cur; DEALLOCATE _cur; END end [/codebox] Muito Obrigado a todos