Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////////////////////////////////////////////
- /////CURSOR
- SET SERVEROUTPUT ON;
- DECLARE
- NombreTie VARCHAR(200);
- Id_tie INTEGER;
- Num_ventas INTEGER;
- MontoFact NUMBER;
- Promedio NUMBER :=0;
- Varianza NUMBER :=0;
- Desviacion NUMBER;
- CURSOR CurTienda IS
- SELECT TIENDAS.TIENDAID, TIENDAS.TIENDA, COUNT(*) AS Num_ventas
- FROM TIENDAS, FACTURAS WHERE TIENDAS.TIENDAID=FACTURAS.TIENDAID
- GROUP BY TIENDAS.TIENDAID, TIENDAS.TIENDA;
- CURSOR CurTiendaVentas ( Id_tie INTEGER) IS
- SELECT MONTOFACTURA FROM FACTURAS WHERE TIENDAID= Id_tie;
- BEGIN
- OPEN CurTienda;
- LOOP
- FETCH CurTienda INTO Id_tie ,NombreTie,Num_ventas;
- OPEN CurTiendaVentas (Id_tie);
- EXIT WHEN CurTienda%NOTFOUND;
- LOOP
- FETCH CurTiendaVentas INTO MontoFact;
- EXIT WHEN CurTiendaVentas%NOTFOUND;
- Promedio := Promedio + MontoFact;
- END LOOP;
- Promedio := round(Promedio / Num_ventas,2);
- CLOSE CurTiendaVentas;
- OPEN CurTiendaVentas(Id_tie);
- LOOP
- FETCH CurTiendaVentas INTO MontoFact;
- EXIT WHEN CurTiendaVentas%NOTFOUND;
- Varianza := Varianza + POWER(( MontoFact-Promedio),2);
- END LOOP;
- Varianza:= round((Varianza/(Num_ventas -1)),2);
- Desviacion := round((sqrt(Varianza)),2);
- dbms_output.put_line(NombreTie || ' PROMEDIO: ' || Promedio || ' VARIANZA: ' || Varianza || ' DESVIACION ESTANDAR: ' || Desviacion);
- CLOSE CurTiendaVentas;
- Promedio:=0;Varianza:=0;Desviacion:=0;
- END LOOP;
- CLOSE CurTienda;
- END;
- //////////////////////////////////////////////////////////////////////////
- SET SERVEROUTPUT ON;
- DECLARE
- TiendaPais VARCHAR(200);
- Pais VARCHAR(200);
- Num_ventas INTEGER;
- MontoFact NUMBER;
- Promedio NUMBER :=0;
- Varianza NUMBER :=0;
- Desviacion NUMBER;
- CURSOR CurTiendaDatos IS
- SELECT DISTINCT TIENDAS.PAISTIENDA,COUNT(*) AS Num_ventas
- FROM TIENDAS, FACTURAS WHERE TIENDAS.PAISTIENDA=FACTURAS.NACIONALIDAD
- GROUP BY TIENDAS.PAISTIENDA;
- CURSOR CurTiendaVenta ( Pais VARCHAR) IS
- SELECT MONTOFACTURA FROM FACTURAS WHERE NACIONALIDAD= Pais;
- BEGIN
- OPEN CurTiendaDatos;
- LOOP
- FETCH CurTiendaDatos INTO TiendaPais,Num_ventas;
- OPEN CurTiendaVenta ( TiendaPais);
- EXIT WHEN CurTiendaDatos%NOTFOUND;
- LOOP
- FETCH CurTiendaVenta INTO MontoFact;
- EXIT WHEN CurTiendaVenta%NOTFOUND;
- Promedio := Promedio + MontoFact;
- END LOOP;
- Promedio := round(Promedio / Num_ventas,2);
- CLOSE CurTiendaVenta;
- OPEN CurTiendaVenta( TiendaPais);
- LOOP
- FETCH CurTiendaVenta INTO MontoFact;
- EXIT WHEN CurTiendaVenta%NOTFOUND;
- Varianza := Varianza + POWER(( MontoFact-Promedio),2);
- END LOOP;
- Varianza:= round((Varianza/(Num_ventas -1)),2);
- Desviacion := round((sqrt(Varianza)),2);
- dbms_output.put_line(TiendaPais || ' PROMEDIO: ' || Promedio || ' VARIANZA: ' || Varianza || ' DESVIACION ESTANDAR: ' || Desviacion);
- CLOSE CurTiendaVenta;
- Promedio:=0;Varianza:=0;Desviacion:=0;
- END LOOP;
- CLOSE CurTiendaDatos;
- END;
- //////////////////////////////////////////////////////////////////////
- SET SERVEROUTPUT ON;
- DECLARE
- Seccion VARCHAR(200);
- Num_ventas INTEGER;
- MontoFact NUMBER;
- Promedio NUMBER :=0;
- Varianza NUMBER :=0;
- Desviacion NUMBER;
- idtienda integer;
- tienda varchar(20);
- CURSOR CurSeccionDatos IS
- SELECT TIENDAID,tienda
- FROM TIENDAS;
- CURSOR CurTiendaSeccion ( IDTIENDA VARCHAR) IS
- SELECT DISTINCT PRODUCTOS.SECCION, SUM(DETALLEFACTURAS.MONTOVENTA) AS MONTOVENTA, COUNT(*)AS Num_ventas FROM DETALLEFACTURAS, PRODUCTOS, FACTURAS
- WHERE DETALLEFACTURAS.PRODUCTOID=PRODUCTOS.PRODUCTOID AND DETALLEFACTURAS.FACTURAID=FACTURAS.FACTURAID
- AND FACTURAS.TIENDAID=IDTIENDA
- GROUP BY PRODUCTOS.SECCION;
- BEGIN
- OPEN CurSeccionDatos;
- LOOP
- FETCH CurSeccionDatos INTO idtienda,tienda;
- OPEN CurTiendaSeccion ( idtienda );
- EXIT WHEN CurSeccionDatos%NOTFOUND;
- LOOP
- FETCH CurTiendaSeccion INTO Seccion,MontoFact,Num_ventas;
- EXIT WHEN CurTiendaSeccion%NOTFOUND;
- Promedio := Promedio + MontoFact;
- END LOOP;
- Promedio := round(Promedio / Num_ventas,2);
- CLOSE CurTiendaSeccion;
- OPEN CurTiendaSeccion( idtienda );
- LOOP
- FETCH CurTiendaSeccion INTO Seccion,MontoFact,Num_ventas;
- EXIT WHEN CurTiendaSeccion%NOTFOUND;
- Varianza := Varianza + POWER(( MontoFact-Promedio),2);
- END LOOP;
- Varianza:= round((Varianza/(Num_ventas -1)),2);
- Desviacion := round((sqrt(Varianza)),2);
- dbms_output.put_line(tienda || ' ' || 'PROMEDIO DE SECCIONES: ' || ' PROMEDIO: ' || Promedio || ' VARIANZA: ' || Varianza || ' DESVIACION ESTANDAR: ' || Desviacion);
- CLOSE CurTiendaSeccion;
- Promedio:=0;Varianza:=0;Desviacion:=0;
- END LOOP;
- CLOSE CurSeccionDatos;
- END;
- //////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement