Pablo-Aldana / dbd-ettsi

Automatically exported from code.google.com/p/dbd-ettsi
0 stars 0 forks source link

PROCEDIMIENTO - LA UNION HACE LA FUERZA - #15

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Como el procedimiento es complicado, hagamoslo entre los tres:

SET serveroutput ON;

CREATE OR REPLACE PROCEDURE cuenta_corriente
(dni IN coopeativistas.dni_cooperativistas%TYPE) IS

BEGIN
-- CONTAMOS EL NUMERO DE COOPERATIVISTAS ACTIVOS A LA FECHA DE HOY--
SELECT COUNT(*) INTO numero_cooperativistas FROM cooperativistas WHERE 
baja=0;
--CALCULAMOS LOS GASTOS TOTALES--
SELECT SUM(importe) INTO gastos_totales FROM otros_gastos;
--CALCULAMOS LAS INVERSIONES ACUMULADAS DE TODOS LOS COOPERATIVISTAS--
SELECT SUM(importe) INTO inversiones_totales FROM aportaciones WHERE 
tipo_importe = 'inversion';
-- SELECCIONAMOS LAS APORTACIONES UNA A UNA Y SU FECHA--
SELECT fecha,importe FROM aportaciones WHERE dni_cooperativista=dni AND 
tipo_importe = 'aportacion';
--IMPRIMIMOS LOS DATOS--
DBMS_OUTPUT.PUT_LINE('El cooperativista ha aportado: '|| 
aportaciones.importe ||'€ Fecha: ' || aportaciones.fecha);
DBMS_OUTPUT.PUT_LINE('Los gastos del cooperativista son: '|| 
gastos_totales/numero_cooperativistas ||'€');
DBMS_OUTPUT.PUT_LINE('La inversion equiv del cooperativista: '|| 
inversiones_totales/numero_cooperativistas ||'€');
COMMIT WORK;
END cuenta_corriente;

Problemas?
1. Creo que tenemos el problema de que podemos dar de alta y baja 
cooperaivistas pero... no sabemos cuando ocurre esto. ¿Sera necesario 
crear una entidad registro altas/bajas en la que guardamos la fecha de 
alta y de baja y el dni del cooperativista?
2. EL significado de "a la fecha de generacion de la cuenta corriente" ?Se 
refiere al dia en el que s egenera la fecha no? Sie s asi, lo unico que 
hay que mirar son los cooperativistas dados de alta y contarlos pero no 
hace falta ir fecha a fecha de los gastos e inversiones, contar en esa 
fecha los cooperativistas activos,hacer la division, e ir sumando asi el 
total. Esta ultima forma seria la forma compleja y detallada de hacerla 
pero el enunciado no llega a tanto y creo que simplifica, contestad no 
obstante.

Resultados esperados?
1. En el enunciado del procedimiento lo intetan simplificar, asi que 
supongo que el procedimiento sera parecido al que yo he puesto arriba, si 
no es asi, contestad o poned un procedimiento mejorado.

Original issue reported on code.google.com by elhisp...@gmail.com on 5 Jan 2008 at 11:23

GoogleCodeExporter commented 9 years ago
2 cosas
- con respecto a lo de las inversiones en el enunciado se da a entender q una
inversion es un tipo de gasto, "Aportaciones de cooperativistas
Los cooperativistas desde su incorporación a la sociedad irán realizando
“aportaciones dinerarias” que fije la cooperativa para satisfacer los 
gastos e
inversiones realizadas. Debe recogerse cada aportación requerida así como si 
el
cooperativista
la ha hecho efectiva o si está pendiente de pago.", yo lo veo como si fuese un
prestamo del banco q luego hay q devolver

- con respecto a lo de la fecha estas en la misma situacion q yo x eso no sabia 
como
empezar xq no se si se refiere a consultar todas las aportaciones asta la fecha 
d hoy
o entre dos fechas, y si es entre dos fechas pues hay q tener en cuenta los
cooperativistas q estaban de alta en ese momento

PD: no hagas muxos cambios importantes en la bd xq es mejor preguntarselo al 
muler
vaya a ser despues una tonteria el procedimiento

Original comment by jjbar...@gmail.com on 5 Jan 2008 at 12:14

GoogleCodeExporter commented 9 years ago

Original comment by thorinro...@gmail.com on 10 Jan 2008 at 5:25