Ir para conteúdo

Arquivado

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

arthurvidotto

[Resolvido] Cursor no SQL SERVER 2000

Recommended Posts

Boa tarde,

 

Gostaria de inserir um registro numa tabela, mas antes eu precisaria inserir (+1) em todos os registros que já estão cadastrados, para ficar dessa forma:

 

Por exemplo: Se um registro que ja estava cadastrado estava com o valor dela 10 ele vai pra 11, lembrando que isso é para todos os registros já cadastrados.

 

Bom nos meus conhecimentos eu sei que na procedure que vou dar o insert num novo registro vou precisar chamar uma outra procedure contendo esse tal de cursos que eu preciso. Depois que ele executa essa procedure e add (+1) ele insere o novo.

 

o nome da coluna que é para inserir +1 chama-se iOrdemExibicao.

 

Se alguem puder me ajudar agradeço

 

[]´s

Arthur

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui Resolver. Para quem quiser dar uma olhada...

Segue a query abaixa.

 

muito obrigado mesmo assim.

 

DECLARE @iOrdem int, @PK int

DECLARE AddOrdem CURSOR

LOCAL FORWARD_ONLY

FOR (SELECT iOrdemExibicao, nPkNoticia FROM Nome_Tabela) OPEN AddOrdem

FETCH NEXT FROM AddOrdem
INTO @iOrdem,@PK

WHILE @@fetch_status = 0
BEGIN

	Update Nome_Tabela
	Set
	iOrdemExibicao = @iOrdem + 1
		WHERE nPkNoticia = @PK
	FETCH NEXT FROM AddOrdem INTO @iOrdem,@PK
END	

CLOSE AddOrdem
DEALLOCATE AddOrdem

Compartilhar este post


Link para o post
Compartilhar em outros sites

arthurvidotto,

 

que bom que resolveu e obrigado pelo feedback, mas soh atente para o tempo de execução do cursores. Alguns lugares deixam a performance do db la no chao ;)

 

Abçs

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.