Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2011, 17:42
juanmitaaa
 
Fecha de Ingreso: abril-2006
Mensajes: 205
Antigüedad: 18 años
Puntos: 0
Problemas con un Procedimiento con cursor

Hola a todos. Tengo un procedimiento que recoge 3 variables y se encarga de insertar en la tabla "Dieta_Animal_FechaInicio" registros de animales que pesen menos que el peso mandado desde el procedimiento. Para ello el cursor recorre la otra tabla que posee información de todos los animales y su peso:

ALTER PROCEDURE DietaEspecial
@cod_dieta int,
@tipo_animal varchar(20),
@peso numeric(10,2)
AS
--Declaración de las variables del cursor
DECLARE
@codigo_del_animal varchar(10),
@peso_del_animal numeric(10,2)
--Declaración del cursor
DECLARE animales CURSOR FOR
SELECT cod_animal, peso
FROM animal
WHERE tipo_animal = @tipo_animal
OPEN animales
--Lectura de la primera fila del cursor
FETCH animales INTO @codigo_del_animal, @peso_del_animal
WHILE (@@FETCH_STATUS = 0)

BEGIN
SET NOCOUNT ON;
-- Insertamos la consulta que nos devuelve los animales que pesan menos que @peso
IF (@peso_del_animal < @peso)
INSERT INTO Dieta_Animal_FechaInicio (cod_animal,fecha_inicio,cod_dieta,od_resultado)
VALUES(@codigo_del_animal,GETDATE(),@cod_dieta,'Di eta Especial para coger Peso')
FETCH animales INTO @codigo_del_animal, @peso_del_animal
END
--Cerrar el cursor
CLOSE animales
--Liberar los recursos
DEALLOCATE animales
GO




Cuando le doy a analizar me dice que no hay ningun problema en la consulta (Executed, pero a la hora de ejecutarla no me deja. Me sale un error del tipo: "El nombre del objeto 'DietaEspecial' no es válido. He probado cambiando el nombre del procedimiento y nada. Por favor, estoy desesperado a ver si alguien da con el error.....