Procedimiento almacenado

14/07/2004 - 23:11 por anonymous | Informe spam
Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.

Preguntas similare

Leer las respuestas

#1 ulises
14/07/2004 - 23:33 | Informe spam
Ya tienes la lógica armada revisando el BOL deberías
poderla armar sin problemas en todo caso sería algo así :

CREATE PROC prCicloFechas
( @fechainicio datetime, @incremento int )
AS
declare @variablefecha datetime
declare @fechafinal datetime
SET @variablefecha = @fechainicio
SET @fechafinal = GETDATE()
WHILE @variablefecha < @fechafinal
BEGIN
sentencias
SET @variablefecha = DATEADD
(month,@incremento,@variablefecha)
END

Saludos,
Ulises
Saludos,
Ulises


Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.
.

Respuesta Responder a este mensaje
#2 Fernando España
14/07/2004 - 23:35 | Informe spam
create procedure proc_agrega_fecha @fecha datetime
as
Begin
update datos set fecha_actual=dateadd(mm,cantidad_meses,@fecha)
from mis_datos where fechaactual<@fecha
return
end

Alta Tecnologia en Infomatica S.A. www.atisa.com.gt Fernando España Gerente
de Informatica ATISA 7a. Calle 4-34 Zona 10 Segundo Nivel
tel: fax: mobile: 502-3620005 502-3620013 502-5330314
"anonymous" escribió en el mensaje
news:2d31c01c469e7$2d1e9f80$
Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.
Respuesta Responder a este mensaje
#3 anonymous
15/07/2004 - 00:02 | Informe spam
Agradezco las dos sugerencias pero: hay fechas que datan
del 2000 por eso mi logica seria en un While; les explico
mejor mi caso, resido en Colombia y hay algo llamado CDAT
que es un titulo valor que dependiendo de un numero de
meses gana intereses, ahora les voy a dar un ejemplo:
Se abrio un CDAT el dia 1 de enero del 2000 a 3 meses,
esa persona deberia retirar el CDAT el dia 1 de abril del
2000 pero aun la fecha es menor de la de hoy asi que se
suman otros 3 meses 1 de julio del 2000, y asi
sucesivamente hasta que esta fecha sea mayor que la
actual; por eso mi logica es hacerla en un while.

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Espero que puedan darme sugerencias para poder realizar
este proceso.



Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se


como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.
.

Respuesta Responder a este mensaje
#4 ulises
15/07/2004 - 00:19 | Informe spam
Entonces no necesitas un bucle, lo que necesitas es
obtener el número de meses que hay entre la fecha inicial
del CDAT contra la fecha actual, luego dividirla entre 3
convertirla a entero y sumarla como meses*3 a la fecha
actual, algo como (sin probar) :

SELECT fechaactual = DATEADD(month,CAST(DATEDIFF
(month,fechaactual,GETDATE())/3 as int)*3, fechaactual)
FROM tabla

revisa los casos que se puedan presentar.

Saludos,
Ulises


Agradezco las dos sugerencias pero: hay fechas que datan
del 2000 por eso mi logica seria en un While; les explico
mejor mi caso, resido en Colombia y hay algo llamado CDAT
que es un titulo valor que dependiendo de un numero de
meses gana intereses, ahora les voy a dar un ejemplo:
Se abrio un CDAT el dia 1 de enero del 2000 a 3 meses,
esa persona deberia retirar el CDAT el dia 1 de abril del
2000 pero aun la fecha es menor de la de hoy asi que se
suman otros 3 meses 1 de julio del 2000, y asi
sucesivamente hasta que esta fecha sea mayor que la
actual; por eso mi logica es hacerla en un while.

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Espero que puedan darme sugerencias para poder realizar
este proceso.



Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se


como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.
.



.

Respuesta Responder a este mensaje
#5 anonymous
15/07/2004 - 00:48 | Informe spam
Ulises no me habia fijado que tengo SQL Adventage que es
de Sybase y no acepta el comando CAST, tienes alguna otra
sugerencia?

Por lo visto no se puede un while, creo que me voy a
volver loco con ese proceso, le he dado vueltas a lo loco.

Si puedes darme alguna otra sugerencia estare muy
agradecido.
Cordial saludo.

Necesito una ayuda, quiero crear un procedimiento que me
ha vuelto el cerebro ñaco de pensar y aun no doy en el
clavo; necesito comparar una fecha y de acuerdo a eso se
hace una instrucción. Ej:

variable = fechainicio
while variable < fechaactual
dateadd(month,meses,variable)
end while

Esta es la idea, pero no se como implementarla en un
procedimiento almacenado, lo haria asi

select meses,fechainicio from tabla where condiciones

esto lo almacenaria en una tabla temporal pero no se


como
implementar ese while; alguien podria darme una ayuda?

Agradezco la ayuda y sugerencias que me puedan brindar.
.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida