Consulta ejercicio del final del 19/02/2007

5 views
Skip to first unread message

Rodrigo Fernandez

unread,
Feb 20, 2011, 10:29:39 AM2/20/11
to fina...@googlegroups.com

Hola estoy practicando para el final y me encontre con el ejercicio del final del 19/02/2007, mucho no me convence lo que hice en el punto (a) y queria ver que opinan ustedes. De paso tambien les paso mi solución al paso (b) para que la vean.


3) Dado el siguiente modelo:

El siguiente modelo muestra las tablas correspondientes para aplicar un esquema de interes, la tabla cuenta con la fecha de inicio y terminación del porcentaje de interés diario para cada tipo de interés.

Hay que considerar que nunca se puede superponer para un mismo tipo de interés un rango de fechas.

 

Interes

 

Tipo_interes

inte_id

 

tipr_id

inte_fecha_inicio

 

tipr_detalle

inte_fecha_fin

 

 

inte_tipo_interes (FK)

 

 

inte_porcentaje

 

 

 

Se pide:

a) Dado un rango de fechas obtenido desde variables y un tipo de interés (definidas abajo) crear un solo Quero que devuelva NO ROWS, si se puede cargar ese interés para el rango de fechas solicitado y una o varias filas si no se puede.

 

Resolución:

DECLARE @DESDE_FECHA      SMALLDATETIME

DECLARE @DESDE_HASTA      SMALLDATETIME

DECLARE @TIPO_INTERES CHAR(2)

 

SELECT CASE WHEN

EXISTS (SELECT 1

                                    FROM interes i, tipo_interes ti

                                    WHERE i.inte_tipo_interes = ti.tipr_id

                                                AND i.inte_tipo_interes = TIPO_INTERES

                                                AND i.inte_fecha_inicio >= DESDE_FECHA

                                                AND i.inte_fecha_fin <= FECHA_HASTA)

            THEN ‘Hay filas’ ELSE ‘Now rows’ END

 

b) Crear un procedimiento que dado un importe, y un rango de fechas para un tipo de interés devuelva el importe total con los intereses incluidos, aplicando los correspondientes intereses diarios hasta el momento de terminación de la fecha. Para el cálculo de intereses considerar que se tienen que tomar solo los intereses dentro del rango de fachas que se pasan como parámetros, luego aplicar el porcentaje diario hasta la fecha de finalización.

 

Resolución:

CREATE PROCEDURE CALCULAR_INTERES(@IMPORTE INT, @DESDE DATETIME, @HASTA DATETIME)

AS

BEGIN

            SELECT @IMPORTE + SUM(@IMPORTE * i.inte_procentaje / 100) AS TOTAL

            FROM interes i

            WHERE i.inte_fecha_inicio >= @DESDE

                        AND i.inte_fecha_fin <= @HASTA

END

GO


Muchas gracias por sus respuestas, saludos.
--
RoDRigo

Ideas Libres


1_19_finalgestiodatos20070219.pdf
Reply all
Reply to author
Forward
0 new messages