Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Select que me devuelva n filas con fechas incrementales

Hola !

Es posible hacer algo en Firebird, llámese 'Select simple' o 'Select con Procedimiento Almacenado', para que obtenga n Filas empezando por una fecha determinada para el primer registro y autoincrementar la fecha por cada registro ??

Algo así como
Código Delphi [-]
Select FECHA from AUTOINCREMENTAR(Today, 10)
siendo AUTOINCREMENTAR algún procedimiento almacenado, que tome como parámetro de entrada una fecha inicial (en el caso del ejemplo, hoy) y un número de registros a obtener (en el ejemplo, 10).

No estoy muy puesto con el tema de Stored Procedure's por lo que no consigo ver la solución.

Gracias como siempre por vuestros sabios consejos
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, se me ocurre que como las fechas son números double, puedes crear un bucle aumentando una variable fecha que en cada iteración sume lo que te interese: un día, una hora, etc.
Incluso creo que tengo algo hecho, voy a buscarlo...
Responder Con Cita
  #3  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código SQL [-]
SET TERM ^ ;

CREATE PROCEDURE autoincrementarfecha 
 ( fecha date, dias INTEGER ) 
RETURNS 
 ( result date )
AS 
BEGIN
  
  while (dias>0) do
  BEGIN
    fecha = fecha+1;
    result = fecha;
    dias=dias-1;  
    SUSPEND;
  END   
  
END^

SET TERM ; ^

Para llamarlo:

Código SQL [-]
select * from AUTOINCREMENTARFECHA('now',10)
Responder Con Cita
  #4  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y el resultado:
http://img545.imageshack.us/img545/5944/pantallazoo.jpg


Última edición por Casimiro Notevi fecha: 23-02-2011 a las 16:11:54.
Responder Con Cita
  #5  
Antiguo 23-02-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Muchas gracias !

Es exactamente lo que quería y ya lo había pensado tal y como lo indicas, pero no supe plasmarlo correctamente.

Lo tenía casi igual pero no me daba cuenta que había que devolver el resultado con Result en el procedimiento.

__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, le he puesto result, aunque vale cualquier nombre válido para una variable.
Me alegro que te haya servido.
Responder Con Cita
  #7  
Antiguo 23-02-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Casi, creo que deberías fijarte bien que pasa con la imagen que has puesto, y la de tu firma también, porque no se ve.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues yo las veo normales
Responder Con Cita
  #9  
Antiguo 23-02-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues yo las veo normales
Entonces será problema mio y algo me la bloquea , porque lo que veo es una imagen de una rana congelada en un bloque de hielo. Ajunto una imagen para que veas como me aparece.

Saludos,
Imágenes Adjuntas
Tipo de Archivo: jpg NoVeo.jpg (83,6 KB, 16 visitas)
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 23-02-2011
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 915
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Talvez a Casimiro le gustan las ranas...

Saludos
Responder Con Cita
  #11  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Nadie ve la imagen?, ¿sólo yo?
Responder Con Cita
  #12  
Antiguo 23-02-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
.... no sigamos 'desvirtuando' el hilo ! .... yo lo veo todo correctamente igual que Casimiro, su imagen y su firma y todo correcto.

Dejo aquí el código del Stored Procedure y de un Select que me devuelve para cada fecha y para cada categoría (de otra tabla), un número de 'habitaciones' de cada categoría y para cada fecha del margen que introduzca.

Código Delphi [-]
CREATE OR ALTER PROCEDURE AUTO_INC_DATE (
    in_first_date date,
    in_count_days integer)
returns (
    out_date date)
as
begin
  While (IN_COUNT_DAYS > 0) do begin
    OUT_DATE = IN_FIRST_DATE;
    IN_FIRST_DATE = IN_FIRST_DATE + 1;
    IN_COUNT_DAYS = IN_COUNT_DAYS - 1;
    SUSPEND;
  end
end

Código Delphi [-]
Select OUT_DATE, CA.SUBCATEGORYNO,
(Select Count(*) from OBJECTS OB
 where OB.CATEGORYNO  = CA.CATEGORYNO
 and OB.SUBCATEGORYNO = CA.SUBCATEGORYNO
 and OB.BUILDINGNO    = 1) as NUM_OBJS
from AUTO_INC_DATE('TODAY', 10)
left join CATEGORIES CA
  on CA.CATEGORYNO = 1
  and CA.SUBCATEGORYNO <> 0

Resultados :
Out_Date SubCateg Num_Objs
23.02.2011 1 0
23.02.2011 2 11
23.02.2011 3 5
23.02.2011 4 5
23.02.2011 5 1
24.02.2011 1 0
24.02.2011 2 11
24.02.2011 3 5
24.02.2011 4 5
24.02.2011 5 1
....
etc, así hasta el 04.03.2011 con los mismos registros que anteriormente indicados

Espero le sirva a alguien !
__________________
Piensa siempre en positivo !
Responder Con Cita
  #13  
Antiguo 23-02-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por gluglu Ver Mensaje
.... no sigamos 'desvirtuando' el hilo ! .... yo lo veo todo correctamente igual que Casimiro, su imagen y su firma y todo correcto.
Disculpa gluglu si parecía que estaba desvirtuando el hilo. Es que a mi también me hubiera gustado entender el ejemplo de Casi y la imagen me podría ayudar.

Me alegro que te sirviera

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #14  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He subido la imagen a otro sitio, Delphius, si la ves bien entonces me avisas y borramos los posts que no sirven.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enumerar filas de un select lucasarts_18 MySQL 25 05-07-2008 16:10:53
select de fechas oracle moneyfornothing SQL 1 27-04-2006 07:55:45
Como Validar Filas en Select? AGAG4 SQL 9 30-12-2005 20:05:19
¿Alguien sabe de una función que devuelva la diferencia entre dos fechas? nuri Varios 8 21-07-2005 00:32:41
Select con fechas yhoho SQL 17 03-03-2005 13:09:51


La franja horaria es GMT +2. Ahora son las 08:15:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi