Error SQL -502

Delphi

16/07/2012

Estou com um erro slq e não sei resolver:
declared cursor already exists no match for first value expresion

se alguém já se deparou com esse erro e conseguiu resolver me ajude.
Marcos Rossetto

Marcos Rossetto

Curtidas 0

Respostas

Alvaro Vieira

Alvaro Vieira

16/07/2012

Boa tarde Marcos, parece que você está usando a mesma variável (cursor) mais de uma vez sem fechá-la.
Veja o ex. abaixo que retirei do site http://www.mssqltips.com/sqlservertip/1599/sql-server-cursor-example/
Observe que existe o comando CLOSE após o uso do cursor. Se não for isso, coloque o seu código aqui para que possamos avaliá-lo.
O ex. abaixo faz um backup de todos os bancos de dados. Abraço.


DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = C:\Backup\

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM MASTER.dbo.sysdatabases
WHERE name NOT IN (master,model,msdb,tempdb)

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + _ + @fileDate + .BAK
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor
GOSTEI 0
Marcos Rossetto

Marcos Rossetto

16/07/2012

Caro Alvaro, meu problema não é este, estou usando IBX, firebird e turbo Delphi 2006, ao excluir um item do meu banco ocorre o erro.
GOSTEI 0
Bruno Leandro

Bruno Leandro

16/07/2012

marcos tente desabilitar as triggers desta tabela e executar a exclusão, ou excluir por meio do query e veja se o erro persiste, pois este erro pode estar ocorrendo dentro da trigger da tabela que esta excluindo o registro
GOSTEI 0
POSTAR