Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não conseguindo re-executar o código do cursor

Olá,

No primeiro exercício de curso, ao executar o código criado funciona corretamente:

DECLARE @NOME VARCHAR(200)

DECLARE CURSOR1 CURSOR FOR SELECT TOP 4 NOME FROM [TABELA DE CLIENTES]
OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @NOME
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @NOME
    FETCH NEXT FROM CURSOR1 INTO @NOME
END

Mas ao executar novamente, ocorre o erro:

Msg 16915, Level 16, State 1, Line 2040
Já existe um cursor com o nome 'CURSOR1' .
Msg 16905, Level 16, State 1, Line 2041
O cursor já está aberto

Não é possivel executar o código mais de uma vez? Como fazer para corrigir?

1 resposta
solução!

Já resolvi! Coloquei os comandos, no final do código:

CLOSE CURSOR1 DEALLOCATE CURSOR1