Ver Mensaje Individual
  #2  
Antiguo 24-09-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 21
lbuelvas Va por buen camino
Hola campeon, la unica es con un procedimiento almacenado, no entiendo cual es el proposito de tu necesidad pero me tome la tarea de hacer un segmento de codigo para resolverlo. Tendras una dificultad y es que si las longitudes de los nombres en una fecha es mas larga que el campo "nombres" te saldra un error al ejecutarse el procedimiento. No he probado si a la salida pueda haber un campo blob. Alguien puede decirnos si es posible ?.

Código SQL [-]

CREATE TABLE PERSONA (
  ID     INTEGER NOT NULL,
  NOMBRE VARCHAR(20) NOT NULL,
  FECHA  DATE NOT NULL
);

ALTER TABLE PERSONA ADD CONSTRAINT
PK_PERSONA
PRIMARY KEY (ID);

ALTER PROCEDURE SP_CUMPLEANEROS
RETURNS (
  FECHA_REFERENCIA DATE,
  NOMBRES VARCHAR(1024)
)
AS
  DECLARE VARIABLE NOMBRE_PERSONA VARCHAR(20);
BEGIN
  for select distinct fecha
      from persona
      order by fecha
      into :fecha_referencia
  do begin
    nombres = '';
    for select nombre
        from persona
        where fecha = :fecha_referencia
        order by id
        into :nombre_persona
    do begin
      if (nombres <> '') then
        nombres = nombres || ', ';
      nombres = nombres || nombre_persona;
    end
    suspend;
  end
END;
__________________
Luis Fernando Buelvas T.
Responder Con Cita