RE:pequeña consultaa!!! ayuda
CREATE TABLE "TIENDAS"
( "CODIGO" NUMBER(5,0),
"DESCRIPCION" VARCHAR2(40),
CONSTRAINT "TIENDA_PK" PRIMARY KEY ("CODIGO")
);
CREATE UNIQUE INDEX "TIENDA_PK" ON "TIENDAS" ("CODIGO");
ALTER TABLE "TIENDAS" ADD CONSTRAINT "TIENDA_PK" PRIMARY KEY ("CODIGO");
CREATE TABLE "FACTURAS"
( "NUM_FACTURA" NUMBER(10,0) NOT NULL ,
"FECHA" DATE NOT NULL ,
"COD_TIENDA" NUMBER(5,0) NOT NULL ,
"TOTAL" NUMBER(10,2) NOT NULL ,
CONSTRAINT "FACTURA_PK" PRIMARY KEY ("NUM_FACTURA"),
CONSTRAINT "FACTURA_TIENDA_FK" FOREIGN KEY ("COD_TIENDA")
REFERENCES "TIENDAS" ("CODIGO")
);
CREATE INDEX "FACTURA_IDX1" ON "FACTURAS" ("COD_TIENDA");
CREATE UNIQUE INDEX "FACTURA_PK" ON "FACTURAS" ("NUM_FACTURA");
ALTER TABLE "FACTURAS" ADD CONSTRAINT "FACTURA_PK" PRIMARY KEY ("NUM_FACTURA");
------------------------------------------------------------------------------------
/* BLOQUE PLSQL*/
DECLARE
cTienda NUMBER(5);
dTienda VARCHAR2(40);
fecha1 DATE;
fecha2 DATE;
totalFacturas NUMBER(20, 2);
CURSOR cur_TotFact IS
SELECT ti.codigo,
ti.descripcion,
SUM(fac.total) AS totalFacturas
FROM tiendas ti,
facturas fac
WHERE ti.codigo = fac.cod_tienda
AND fac.fecha BETWEEN fecha1 AND fecha2
GROUP BY ti.codigo,
ti.descripcion;
BEGIN
fecha1 := trunc(SYSDATE-10);
fecha2 := trunc(SYSDATE);
FOR reg_TotFact IN cur_TotFact
LOOP
ctienda := reg_TotFact.codigo;
dtienda := reg_TotFact.descripcion;
totalFacturas := reg_TotFact.totalFacturas;
dbms_output.put_line('Tienda: ' || ctienda || ' - ' || dtienda || ' <<<>>> Monto total de faturas:' ||
totalFacturas);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error: ' || SQLERRM);
END;
/