Está en la página 1de 7

Universidad Pública de El Alto

Nombre: José Milton Arias Chambi Ingeniería de Sistemas


Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18

CREATE OR REPLACE PROCEDURE INS_DPTO(Q NUMBER) IS


CONT NUMBER:=0;
F NUMBER:=2;
CONDIG NUMBER:=0;
BEGIN
WHILE CONT < Q LOOP
FOR I IN 2..F-1 LOOP
IF MOD(F,I)=0
THEN
CONDIG:=CONDIG+1;
END IF;
END LOOP;
IF CONDIG=0
THEN
IF MOD(CONT,2)=0
THEN
INSERT INTO DPTO VALUES(F,'ASEO', 101, 'LA PAZ');
ELSE
INSERT INTO DPTO VALUES(F,'CONTABILIDAD', 110, 'SANTA CRUZ');
END IF;
CONT:=CONT+1;
END IF;
F:=F+1;
CONDIG:=0;
END LOOP;
END;
/

EXEC INS_DPTO(5);
COMMIT;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18

CREATE OR REPLACE PROCEDURE INS_CIU(F NUMBER) IS


CONT NUMBER:=0;
A NUMBER(8):= 0;
B NUMBER(8):=1;
C NUMBER(8):=0;
BEGIN
WHILE CONT < F LOOP

INSERT INTO CIUDAD VALUES(C ,'LA PAZ');


C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C, 'SANTA CRUZ');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C, 'BENI');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C, 'ORURO');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'QUILLACOLLO');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'POTOSI');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'CHUQUISACA');
C:= A+B;
A:=B;
B:=C;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18
INSERT INTO CIUDAD VALUES(C,'COCHABAMBA');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'TARIJA');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'EL ALTO');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'PUERTO SUAREZ');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'WARNES');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'PUNATA');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'BATALLAS');
C:= A+B;
A:=B;
B:=C;
INSERT INTO CIUDAD VALUES(C,'LAJA');
C:= A+B;
A:=B;
B:=C;
CONT:=CONT+1;
END LOOP;

END;
/

EXEC INS_CIU(1);
COMMIT;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18

CREATE OR REPLACE PROCEDURE MAS_DOCE IS


AUMEN NUMBER:=0;
CONT NUMBER:=1;
BEGIN
FOR I IN (SELECT * FROM EMPLEADOS ) LOOP
AUMEN:=I.SUELDO+(I.SUELDO*0.12) ;

UPDATE EMPLEADOS SET SALARIO = AUMEN


WHERE CONT=TO_CHAR(CODEMP);
CONT := CONT+2;
END LOOP;
COMMIT;
END;
/
EXEC MAS_DOCE;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18

CREATE OR REPLACE PROCEDURE DELETE_PRIMO IS


S NUMBER:=2;
CD NUMBER:=0;
BEGIN
FOR E IN (SELECT * FROM EMPLEADOS ) LOOP
FOR I IN 2..S-1 LOOP
IF MOD(S,I)=0
THEN
CD:=CD+1;
END IF;
END LOOP;
IF CD=0 THEN
DELETE FROM EMPLEADOS WHERE S = TO_CHAR(CODEMP) ;
END IF;
S:=S+1;
CD:=0;
END LOOP;
COMMIT;
END;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18
EXEC DELETE_PRIMO;

CREATE OR REPLACE PROCEDURE INSERTAR IS


DEP VARCHAR(30):='&A';
LOC NUMBER(4):=&B;
D NUMBER:=0;
M NUMBER:=0;
BEGIN
SELECT MAX(DEPARTMENT_ID) INTO D FROM DEPARTMENTS ;
M:=TO_CHAR(D);
M:=M+10;
INSERT INTO DEPARTMENTS VALUES (M,DEP,200,LOC);
COMMIT;
END;
COMMIT;
Universidad Pública de El Alto
Nombre: José Milton Arias Chambi Ingeniería de Sistemas
Curso: 5 C
Materia: Base de Datos II Fecha: 10 / 12 / 18
EXEC INSERTAR;
SELECT MAX(DEPARTMENT_ID) FROM DEPARTMENTS ;

/***************************************************************/

CREATE OR REPLACE TRIGGER CORREC_ONE


BEFORE INSERT ON DEPARTMENTS
FOR EACH ROW
BEGIN
IF :NEW.DEPARTMENT_NAME = :OLD.DEPARTMENT_NAME THEN
RAISE_APPLICATION_ERROR(-20099,'NO PUEDE REGISTRAR OTRO DEPARTAMENTO CON
EL MISMO NOMBRE.');
END IF;
END CORREC_ONE;

/***************************************************************/

CREATE OR REPLACE TRIGGER CORREC_TWO


BEFORE INSERT ON DEPARTMENTS
FOR EACH ROW
BEGIN
IF :NEW.LOCATION_ID != :OLD.LOCATION_ID THEN
RAISE_APPLICATION_ERROR(-20099,'NO EXISTE ESA LOCACION.');
END IF;
END CORREC_TWO;

También podría gustarte