Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fholanda

com Cursor

Recommended Posts

Senhores,

 

Criei a rotina abaixo:

 

DECLARE @CAMPO1 varchar(10)DECLARE @CAMPO2 varchar(50)declare x cursor forSELECTcod,cpfFROMTabela1OPEN xWHILE @@fetch_Status=0BEGIN	fetch next from x into @CAMPO1, @CAMPO2	PRINT @CAMPO1	PRINT @CAMPO2ENDclose xdeallocate x

Na primeira vez que executo aparece os resultados corretos, quando executo novamente ele dá a seguinte mensagem:

" The command(s) completed successfully. "

Como faço para exibir os resultados novamente e pq acontece isso? Ele fica alocado na memória?

 

Abraçõs a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando um fetch next from

 

segue ajustado, veja que foram usados dois fetch next from um depois do OPEN e o outro antes do END

DECLARE @CAMPO1 varchar(10)DECLARE @CAMPO2 varchar(50)declare x cursor forSELECT	cod,	cpfFROM	Tabela1OPEN xfetch next from x into @CAMPO1, @CAMPO2WHILE @@fetch_Status=0BEGIN	PRINT @CAMPO1	PRINT @CAMPO2	fetch next from x into @CAMPO1, @CAMPO2ENDclose xdeallocate x
t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela ajuda...Estou aumentando o processo e o último registro repete... Pode me ajudar?Tenho tres tabelas iguaisTabela1, Tabela2 e Tabela3As duas com os mesmos campos (Cod e CPF) e a terceira com o LogQuero comparar as duas (Tabela1 e Tabela2) e a terceira armazenar o log (Campo 1 Igual ou Diferente - Campo 2 Igual ou Diferente - Inexistente)Com esse objetivo, estou fazendo o processo aos poucos, ou seja, abaixo segue o código fazendo a primeira verificação.

DECLARE @CAMPO1 varchar(10)DECLARE @CAMPO2 varchar(50)DECLARE @TAB2CAMPO1 varchar(10)DECLARE @TAB2CAMPO2 varchar(50)declare x cursor forSELECTcod,cpfFROMTabela1OPEN xfetch next from x into @CAMPO1, @CAMPO2WHILE @@fetch_Status=0BEGIN-- PRINT @CAMPO1-- PRINT @CAMPO2declare y cursor forSELECT codFROMTabela2WHERETabela2.cod = @CAMPO1fetch next from x into @CAMPO1, @CAMPO2OPEN yfetch next from y into @TAB2CAMPO1PRINT @TAB2CAMPO1close ydeallocate yENDclose xdeallocate x

Abraços e obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela ajuda...

 

Estou aumentando o processo e o último registro repete... Pode me ajudar?

 

Abraços

fholanda ,

 

você pode por favor editar o post acima e colocar o código dentro das tags CODE, com isso a identação é respeitada e facilita muito a leitura, copia novamente o código para dentro das tags CODE para que a identação fique correta, poise se só adicionar o CODE agora a identação vai ficar fudida

 

explica tb. o que tu ta tentando fazer, o cenário o problema e talz.... mais informações

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz a alteração solicitada.Obrigado e desculpe!Abs

sussuque campos você tem na tabela de log?passa um exemplo com uns 4 dados nas tabela 1 e 2 e como a tabela 3 tem que ficar mediante esses dadosdesculpa a curiosidade mais pq. tu precisa disso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.