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 _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
Pergunta
Zephyrus
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:
Muito Obrigado a todos
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.