Power Builder - CURSORES

 
Vista:

CURSORES

Publicado por Jponte (1 intervención) el 19/05/2003 19:32:38
¿ALGUIEN SABE COMO UTILIZAR CURSORES?
QUIERO HACER UNA FUNCION EN LA QUE NECESITO HACER UN BARRIDO DE UNA TABLA Y SEGUN UNA CONDICION DE CADA REGISTRO SE REALIZA UN CALCULO QUE IRA ACUMULANDOSE EN UNA VARIABLE. EN CADA REGISTRO NECESITO EL RESULTADO DE EL REGISTRO ANTERIOR POR ESO NECESITO UTILIZAR CURSORES.
ACTUALMENTE LO ESTOY HACIENDO CON UN DATAWINDOWS PERO ES POCO PRACTICO. ALGUIEN ME PUEDE ORIENTAR SOBRE ESO
PD: MI BD ES SQL 2000
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:CURSORES

Publicado por Oscar SS (54 intervenciones) el 19/05/2003 20:39:53
aqui te pongo un ejemplo de como utilizar cursores:

//se declara el cursor
DECLARE nombre_cursor CURSOR FOR
SELECT t_tabla.campo1, t_tabla.campo2 //campos que se desean recuperar
FROM t_tabla,
WHERE t_tabla.campo1 = :variable1;

//abre el cursor
OPEN nombre_cursor ;
//Recorre el cursor un registro y recupera los datos
FETCH nombre_cursor INTO :variable2, :variable3;

DO WHILE sqlca.sqlcode = 0
//aqui haces las operaciones que necesites

//recorre un registro y recupera los datos
FETCH nombre_cursor INTO :variable2, :variable3;
LOOP
//cierra el cursor
CLOSE nombre_cursor ;

Espero que esto te pueda ayudar a resolver tus dudas, cuando declaras un cursor en el select pones los campos que quieras que tu cursor recupere, los cuales puedes recuperarlos en variables con fetch.

Saludos.
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

RE:CURSORES

Publicado por Daniel Pardo Pérez (3 intervenciones) el 19/05/2003 23:41:50
Hola!
Según el proceso que describes, creo que lo mejor es que sigas usando los dw ya que los cursores son de lo mas impractico que puedes usar ya que por cada registro que recuperas (es decir cada fecht) haces un acceso a la base de datos y en cambio con un dw solo haces un solo acceso (en el retrive). Imaginate si tu tabla tiene mil registros haces mil accesos a la bd y esto haces que el tiempo de tu proceso se haga exponencial. Lo mejor que puedes hacer es usar un campo calculado.
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