Scriptgroupby

code format="sql" REM ************ TABLA ALUM, NUEVOS, ANTIGUOS ************

DROP TABLE ALUM cascade constraints; DROP TABLE NUEVOS cascade constraints; DROP TABLE ANTIGUOS cascade constraints;

Create TABLE ALUM ( NOMBRE VARCHAR2(20), EDAD NUMBER(2), LOCALIDAD VARCHAR2(15) ) ;

Create TABLE NUEVOS ( NOMBRE  VARCHAR2(20), EDAD NUMBER(2), LOCALIDAD VARCHAR2(15) ) ;

Create TABLE ANTIGUOS ( NOMBRE  VARCHAR2(20), EDAD NUMBER(2), LOCALIDAD VARCHAR2(15) ) ;

INSERT INTO ALUM VALUES('JUAN',18,'COSLADA'); INSERT INTO ALUM VALUES('PEDRO',19,'COSLADA'); INSERT INTO ALUM VALUES('ANA',17,'ALCALÁ'); INSERT INTO ALUM VALUES('LUISA',18,'TORREJÓN'); INSERT INTO ALUM VALUES('MARÍA',20,'MADRID'); INSERT INTO ALUM VALUES('ERNESTO',21,'MADRID'); INSERT INTO ALUM VALUES('RAQUEL',19,'TOLEDO');

INSERT INTO NUEVOS VALUES('JUAN',18,'COSLADA'); INSERT INTO NUEVOS VALUES('MAITE',15,'ALCALÁ'); INSERT INTO NUEVOS VALUES('SOFÍA',14,'ALCALÁ'); INSERT INTO NUEVOS VALUES('ANA',17,'ALCALA'); INSERT INTO NUEVOS VALUES('ERNESTO',21,'MADRID');

INSERT INTO ANTIGUOS VALUES('MARÍA',20,'MADRID'); INSERT INTO ANTIGUOS VALUES('ERNESTO',21,'MADRID'); INSERT INTO ANTIGUOS VALUES('ANDRÉS',26,'LAS ROZAS'); INSERT INTO ANTIGUOS VALUES('IRENE',24,'LAS ROZAS');

COMMIT;

REM ************ TABLA PERSONAL, PROFESORES, CENTROS ***********

DROP TABLE PERSONAL cascade constraints;

CREATE TABLE PERSONAL ( COD_CENTRO  NUMBER(4) NOT NULL, DNI NUMBER(10), APELLIDOS VARCHAR2(30), FUNCION VARCHAR2(15), SALARIO NUMBER (10) );

INSERT INTO PERSONAL VALUES (10,1112345,'Martínez Salas, Fernando', 'PROFESOR', 220000); INSERT INTO PERSONAL VALUES (10,4123005,'Bueno Zarco, Elisa', 'PROFESOR', 220000); INSERT INTO PERSONAL VALUES (10,4122025,'Montes García, M.Pilar', 'PROFESOR', 220000);

INSERT INTO PERSONAL VALUES (15,1112345,'Rivera Silvestre, Ana', 'PROFESOR', 205000); INSERT INTO PERSONAL VALUES (15,9800990, 'Ramos Ruiz, Luis', 'PROFESOR', 205000); INSERT INTO PERSONAL VALUES (15,8660990, 'De Lucas Fdez, M.Angel', 'PROFESOR', 205000);

INSERT INTO PERSONAL VALUES (22,7650000, 'Ruiz Lafuente, Manuel', 'PROFESOR', 220000); INSERT INTO PERSONAL VALUES (45,43526789, 'Serrano Laguía, María', 'PROFESOR', 205000);

INSERT INTO PERSONAL VALUES (10,4480099,'Ruano Cerezo, Manuel', 'ADMINISTRATIVO', 180000); INSERT INTO PERSONAL VALUES (15,1002345,'Albarrán Serrano, Alicia', 'ADMINISTRATIVO', 180000); INSERT INTO PERSONAL VALUES (15,7002660,'Muñoz Rey, Felicia', 'ADMINISTRATIVO', 180000); INSERT INTO PERSONAL VALUES (22,5502678,'Marín Marín, Pedro', 'ADMINISTRATIVO', 180000); INSERT INTO PERSONAL VALUES (22,6600980, 'Peinado Gil, Elena', 'CONSERJE', 175000); INSERT INTO PERSONAL VALUES (45,4163222, 'Sarro Molina, Carmen', 'CONSERJE', 175000);

DROP TABLE PROFESORES cascade constraints;

CREATE TABLE PROFESORES ( COD_CENTRO  NUMBER(4) NOT NULL, DNI          NUMBER(10), APELLIDOS VARCHAR2(30), ESPECIALIDAD VARCHAR2(16) ) ;

INSERT INTO PROFESORES VALUES (10,1112345,'Martínez Salas, Fernando', 'INFORMÁTICA'); INSERT INTO PROFESORES VALUES (10,4123005,'Bueno Zarco, Elisa', 'MATEMÁTICAS'); INSERT INTO PROFESORES VALUES (10,4122025,'Montes García, M.Pilar', 'MATEMÁTICAS');

INSERT INTO PROFESORES VALUES (15,9800990, 'Ramos Ruiz, Luis',   'LENGUA'); INSERT INTO PROFESORES VALUES (15,1112345,'Rivera Silvestre, Ana',   'DIBUJO'); INSERT INTO PROFESORES VALUES (15,8660990, 'De Lucas Fdez, M.Angel', 'LENGUA');

INSERT INTO PROFESORES VALUES (22,7650000, 'Ruiz Lafuente, Manuel', 'MATEMÁTICAS'); INSERT INTO PROFESORES VALUES (45,43526789, 'Serrano Laguía, María', 'INFORMÁTICA');

DROP TABLE CENTROS cascade constraints;

CREATE TABLE CENTROS ( COD_CENTRO  NUMBER(4) NOT NULL, TIPO_CENTRO  CHAR(1), NOMBRE VARCHAR2(30), DIRECCION VARCHAR2(26), TELEFONO VARCHAR2(10), NUM_PLAZAS NUMBER(4) ) ;

INSERT INTO CENTROS VALUES (10,'S','IES El Quijote', 'Avda. Los Molinos 25', '965-887654',538); INSERT INTO CENTROS VALUES (15,'P','CP Los Danzantes', 'C/Las Musas s/n', '985-112322',250); INSERT INTO CENTROS VALUES (22,'S', 'IES Planeta Tierra', 'C/Mina 45', '925-443400',300); INSERT INTO CENTROS VALUES (45,'P', 'CP Manuel Hidalgo', 'C/Granada 5', '926-202310',220); INSERT INTO CENTROS VALUES (50,'S', 'IES Antoñete', 'C/Los Toreros 21', '989-406090',310);

commit;

REM ********************************************************* REM ***TABLAS BANCOS, SUCURSALES, CUENTAS Y MOVIMIENTOS. *** REM ** BORRADO DE TABLAS *****

drop table bancos cascade constraints; drop table sucursales cascade constraints; drop table CUENTAS cascade constraints; drop table MOVIMIENTOS Cascade constraints;

REM ***** CREACION DE TABLAS *****

Create TABLE  BANCOS( COD_BANCO   NUMBER(4) PRIMARY KEY, NF_BANCO    VARCHAR2(10), NOMBRE_BANC VARCHAR2(30), DOM_FISCAL  VARCHAR(35), POBLACION   VARCHAR(35) );

Create TABLE SUCURSALES( COD_BANCO   NUMBER(4), COD_SUCUR   NUMBER (4), NOMBRE_SUC  VARCHAR2(35), DIREC_SUC   VARCHAR2(35), LOC_SUC     VARCHAR2(20), PROV_SUC    VARCHAR2(20), PRIMARY KEY (COD_BANCO,COD_SUCUR) );

Create TABLE  CUENTAS( COD_BANCO   NUMBER(4), COD_SUCUR   NUMBER(4), NUM_CTA     NUMBER(10), FECHA_ALTA  DATE, NOMBRE_CTA  VARCHAR2(35), DIREC_CTA   VARCHAR2(35), POBLA_CTA   VARCHAR2(20), SALDO_DEBE  NUMBER(10), SALDO_HABER NUMBER(10), PRIMARY KEY (COD_BANCO,COD_SUCUR,NUM_CTA) );

CREATE TABLE MOVIMIENTOS( COD_BANCO   NUMBER(4), COD_SUCUR   NUMBER(4), NUM_CTA     NUMBER(10), FECHA_MOV   DATE, TIPO_MOV    CHAR(1), IMPORTE     NUMBER(10) );

REM BANCOS **************

INSERT INTO BANCOS VALUES(1111,'122322223','BANCO DE ESPAÑA','GRAN VIA','MADRID'); INSERT INTO BANCOS VALUES(1112,'222322223','BANCO DE GUADALAJARA','MAYOR',                   'GUADALAJARA'); INSERT INTO BANCOS VALUES(1113,'322322223','BANCO POPULAR','LA PLAZA','TOLEDO'); INSERT INTO BANCOS VALUES(1114,'422322223','CAJA CM','RIO DULCE','ALBACETE');

REM SUCURSALES **************

INSERT INTO sucursales VALUES(1111, 5000,'* SUCURSAL 1*', 'ANCHA 24',   'TOLEDO','TOLEDO'); INSERT INTO sucursales VALUES(1111, 5001,'* SUCURSAL 2*', 'PILON 33', 'PASTRANA','GUADALAJARA');

INSERT INTO sucursales VALUES(1112, 6000,'* SUCURSAL 6000*', 'MAYOR 55', 'ALCALA','ALCALA');

INSERT INTO sucursales VALUES(1113, 4000,'* SUCURSAL 4000*', 'ERAS 77', 'ARANJUEZ','MADRID');

REM CUENTAS ****************************

INSERT INTO CUENTAS VALUES(1111, 5000,123456789,SYSDATE -7, 'JUAN','TOLEDO',       'TOLEDO', 0,0); INSERT INTO CUENTAS VALUES(1111, 5000,123456788,SYSDATE -6, 'PEDRO','TOLEDO',       'TOLEDO', 0,0); INSERT INTO CUENTAS VALUES(1111, 5001,123456787,SYSDATE -100, 'ANA','GUADALAJARA',       'GUADALAJARA', 0,0); INSERT INTO CUENTAS VALUES(1111, 5001,123456786,SYSDATE -6, 'MANUEL','GUADALAJARA',       'GUADALAJARA', 0,0);

INSERT INTO CUENTAS VALUES(1111, 5001,123456785,SYSDATE -230, 'ANDRES','ALCALA',       'ALCALA', 0,0);

INSERT INTO CUENTAS VALUES(1112, 6000,33334444, SYSDATE,'ISABEL','MADRID',       'MADRID', 0,0); INSERT INTO CUENTAS VALUES(1112, 6000,33334440, SYSDATE-140,'MARIA','MADRID',       'MADRID', 0,0);

REM MOVIMIENTOS ****************************

INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334444, SYSDATE,'I', 1000); INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334444, SYSDATE-1,'I', 2000); INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334444, SYSDATE-2,'R', 100); INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334444, SYSDATE,'R', 5000);

INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334440, SYSDATE,'R',200); INSERT INTO MOVIMIENTOS VALUES(1112, 6000,33334440, SYSDATE-2,'I',200);

INSERT INTO MOVIMIENTOS VALUES(1111, 5000,123456789,SYSDATE -7, 'I',100); INSERT INTO MOVIMIENTOS VALUES(1111, 5000,123456789,SYSDATE -5, 'R',200); INSERT INTO MOVIMIENTOS VALUES(1111, 5000,123456789,SYSDATE -4, 'I',300);

INSERT INTO MOVIMIENTOS VALUES(1111, 5000,123456788,SYSDATE,'I',200);

INSERT INTO MOVIMIENTOS VALUES(1111, 5001,123456787,SYSDATE, 'R',198);

INSERT INTO MOVIMIENTOS VALUES(1111, 5001,123456786,SYSDATE,'I',998);

Commit;

REM CALCULO DE SALDOS ***************

UPDATE CUENTAS C SET SALDO_DEBE  = (SELECT SUM(IMPORTE) FROM MOVIMIENTOS WHERE TIPO_MOV='R' AND C.COD_BANCO= COD_BANCO AND C.COD_SUCUR=COD_SUCUR AND C.NUM_CTA =NUM_CTA);

UPDATE CUENTAS C SET SALDO_HABER  = (SELECT SUM(IMPORTE) FROM MOVIMIENTOS WHERE TIPO_MOV='I' AND C.COD_BANCO= COD_BANCO AND C.COD_SUCUR=COD_SUCUR AND C.NUM_CTA =NUM_CTA);

UPDATE CUENTAS SET SALDO_DEBE =0 WHERE SALDO_DEBE IS NULL; UPDATE CUENTAS SET SALDO_HABER=0 WHERE SALDO_HABER IS NULL;

COMMIT;

REM ************ FIN ****************

code