Ver Mensaje Individual
  #2  
Antiguo 19-02-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Reputación: 24
kinobi Va por buen camino
Hola,

Cita:
Empezado por ronson
Me gustaria saber la manera de hacerlo como la priemra porcion de codigo, osea que me el procedimiento me devolviera varios registros.
Básicamente, tienes que utilizar un bucle FOR SELECT ... Más o menos así (no te aseguro que la sintaxis sea 100% correcta, ya que lo hago con el "compilador mental" -> revisa la documentación):

Código:
CREATE PROCEDURE nombre_proc (lista_parámentros_entrada)
  RETURNS(par_salida_1, par_salida_2, ..., par_salida_n)
AS
BEGIN
  FOR SELECT columna_1, columna_2, ..., columna_n 
    FROM tabla 
    WHERE condición
    INTO :par_salida_1, :par_salida_2, ..., :par_salida_n
  BEGIN /* el bloque BEGIN ... END es opcional */
    /* Procesos que tengas que hacer con cada una de las tuplas 
        devueltas por la SELECT */

    /* Necesario para que devuelva correctamente los parámetros de salida: */
    SUSPEND; 
  END;
END
A destacar que no puedes utilizar SELECT * ..., tienes que pedir las columnas "concretas" que quieres.

Cita:
Empezado por ronson
NACLU2!!
Cloruro Sódico = SAL + U 2 = DOS (original, me gusta)

Saludos.

P.D. Por la temática de tu consulta, tendrías que haberla puesto en el foro "InterBase y Firebird".
Responder Con Cita