Sybase SQL Anywhere - urgente!!!! problema con stored procedure

   
Vista:

urgente!!!! problema con stored procedure

Publicado por mikel (1 intervención) el 28/10/2008 05:56:30
hola, ojala puedan ayudarme , gracias de antemano.

-------------------------------------------------------------------------
tablas:

EVALUACION(ID_EVALUACION,FECHA,ID_AREA,.......)
AREA(ID_AREA,NOMBRE_AREA,...)
CURSO(ID_CURSO,NOMBRE,ID_AREA,....)
MATRICULA(ID_MATRICULA,ID_AREA,.....)
RESULTADO(ID_MATRICULA,ID_CURSO,ID_EVALUACION,NOTA)

-------------------------------------------------------------------------
lo que deseaba es que cuando le envie el parametro ID_AREA busque todos los registros de matricula que coysidan con ese ID_AREA (devolviendome cada ID_MATRICULA) y para cada ID_MATRICULA encontrado, le busque los ID_CURSO que tbm coysidan con el parametro de busca ID_AREA.
por ultimo para estos 2 claves (ID_MATRICULA y ID_AREA) los inserto en la tabla RESULTADO, junto con la otra clave que es .. ID_EVALUACION(la cual entra como parametro del procedimiento)

aca esta el codigo:

ALTER PROCEDURE "DBA"."crear_resultados"(in id_area_ integer, in id_evaluacion_ bigint)

begin

declare id_matricula_ bigint;
declare id_curso_ smallint;

declare crsr dynamic scroll cursor for select id_matricula from matricula where id_area = id_area_;
open crsr;
fetch next crsr into id_matricula_;

while sqlcode <> 100 loop
//--->
declare crsr2 dynamic scroll cursor for select id_curso from curso where id_area=id_area_;
open crsr2;
fetch next crsr2 into id_curso_;
while sqlcode <> 100 loop
//--->>
INSERT INTO resultado(id_matricula,id_curso,id_evaluacion)VALUES (id_matricula_,id_curso_,id_evaluacion_) ;
fetch next crsr2 into id_curso_;
//--->>
end loop;
close crsr2
fetch next crsr into id_matricula_;
//--->
end loop;

close crsr
end

EL MALDITO ERROR ES : syntaxis error near "declare" en linea 14.
La linea 14 equivale a este codigo:

declare crsr2 dynamic scroll cursor for select id_curso from curso where id_area=id_area_;

WENO ESPERO CORDIAL SU AYUDA ......CUIDENSE

NOTA: las funciones en el asa difieren un pococ del mismo power script, en el caso de lso cursores no se nesesita colocar los 2 puntos para usar el "into".
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:urgente!!!! problema con stored procedure

Publicado por Leopoldo Taylhardat (82 intervenciones) el 28/10/2008 14:03:18
Saludos...
El problema que tienes es que debes declar los cursores antes de la lógica del proceso...
Es como si declararas variables...
Así...

alter procedure....
Begin

Declare variable(s)...
Declare cursor(es)
....
Lógica de proceso...

Open cursor....
etc., etc., etc....
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar