ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Procedimientos Oracle


Enviado por   •  21 de Octubre de 2018  •  Prácticas o problemas  •  1.079 Palabras (5 Páginas)  •  68 Visitas

Página 1 de 5

CREATE OR REPLACE PROCEDURE LECTURA

IS

CURSOR TABLA_VIRTUAL IS

SELECT * FROM ESTUDIANTE;

ARREGLO TABLA_VIRTUAL%ROWTYPE;

BEGIN

OPEN TABLA_VIRTUAL;

FETCH TABLA_VIRTUAL INTO ARREGLO;

WHILE TABLA_VIRTUAL%FOUND

LOOP

DBMS_OUTPUT.PUT_LINE('NOMBRE:' || ARREGLO.NOMBRE ||' APELLIDO: ' || ARREGLO.APELLIDO);

FETCH TABLA_VIRTUAL INTO ARREGLO;

END LOOP;

CLOSE TABLA_VIRTUAL;

END;

CREATE OR REPLACE PROCEDURE CURSOR_FORLOOP

IS

CURSOR CR_LOOP

IS

SELECT * FROM CURSO;

V_RECEPTORA CR_LOOP%ROWTYPE;

BEGIN

FOR V_RECEPTORA IN CR_LOOP

LOOP

DBMS_OUTPUT.PUT_LINE(CR_LOOP%ROWCOUNT || '' || V_RECEPTORA.NOMBRE_CURSO);

END LOOP;

END;

/

CREATE OR REPLACE PROCEDURE PARAMETROS (V_AP IN VARCHAR)

AS

CURSOR CR_PARAMETRO(V_APELLIDO IN VARCHAR2)

IS

SELECT *

FROM ESTUDIANTE

WHERE APELLIDO=V_APELLIDO;

V_RECEPTORA CR_PARAMETRO%ROWTYPE;

BEGIN

FOR V_RECEPTORA IN CR_PARAMETRO(V_AP)

LOOP

DBMS_OUTPUT.PUT_LINE(V_RECEPTORA.NOMBRE);

END LOOP;

END;

/

SELECT CURSO.NUMERO_CURSO,NOMBRE_CURSO,CREDITOS

FROM CURSO,INSCRIPCION

WHERE CURSO.NUMERO_CURSO=INSCRIPCION.NUMERO_CURSO

AND INSCRIPCION.ID_ESTUDIANTE=V_ID;

SELECT NOMBRE, APELLIDO

FROM ESTUDIANTE

WHERE ESTUDIANTE.ID_ESTUDIANTE=V_ID;

_________________________________________________________________________________________________________

CREATE OR REPLACE PROCEDURE PARAMETROOS (V_ID IN VARCHAR)

AS

CURSOR CR_PARAMETRO(V_ID IN VARCHAR2)

IS

SELECT CURSO.NUMERO_CURSO,CURSO.NOMBRE_CURSO,CREDITOS

FROM CURSO,INSCRIPCION

WHERE CURSO.NUMERO_CURSO=INSCRIPCION.NUMERO_CURSO

AND INSCRIPCION.ID_ESTUDIANTE=V_ID;

V_RECEPTORA CR_PARAMETRO%ROWTYPE;

nom ESTUDIANTE.NOMBRE%type;

ape ESTUDIANTE.APELLIDO%type;

BEGIN

SELECT NOMBRE, APELLIDO INTO nom, ape

FROM ESTUDIANTE

WHERE ESTUDIANTE.ID_ESTUDIANTE=V_ID;

FOR V_RECEPTORA IN CR_PARAMETRO(V_ID)

LOOP

DBMS_OUTPUT.PUT_LINE('EL ALUMNO: ' || nom ||' ' || ape || ' ESTA INSCRITO EN LOS SIGUIENTES CURSOS: ' || V_RECEPTORA.NUMERO_CURSO ||' ' || V_RECEPTORA.NOMBRE_CURSO || V_RECEPTORA.CREDITOS);

END LOOP;

END;

/

CREATE OR REPLACE PROCEDURE PARAMETROOS (V_ID IN VARCHAR)

AS

CURSOR CR_PARAMETRO(V_ID IN VARCHAR2)

IS

SELECT CURSO.NUMERO_CURSO,CURSO.NOMBRE_CURSO,CREDITOS

FROM CURSO,INSCRIPCION

WHERE CURSO.NUMERO_CURSO=INSCRIPCION.NUMERO_CURSO

AND INSCRIPCION.ID_ESTUDIANTE=V_ID;

V_RECEPTORA CR_PARAMETRO%ROWTYPE;

nom ESTUDIANTE.NOMBRE%type;

ape ESTUDIANTE.APELLIDO%type;

BEGIN

SELECT NOMBRE, APELLIDO INTO nom, ape

FROM ESTUDIANTE

WHERE ESTUDIANTE.ID_ESTUDIANTE=V_ID;

DBMS_OUTPUT.PUT_LINE('EL ALUMNO: ' || nom ||' ' || ape );

DBMS_OUTPUT.PUT_LINE(' ESTA INSCRITO EN LOS SIGUIENTES CURSOS: ');

FOR V_RECEPTORA IN CR_PARAMETRO(V_ID)

LOOP

DBMS_OUTPUT.PUT_LINE(V_RECEPTORA.NUMERO_CURSO ||' ' || V_RECEPTORA.NOMBRE_CURSO || V_RECEPTORA.CREDITOS);

END LOOP;

END;

/

______________________________________________________________________________________________________________________________________

TRIGGERS

CREATE TABLE CLIENTES( CODIGO VARCHAR(2),NOMBE VARCHAR(15), LIMITE NUMBER (8,2));

CREATE OR REPLACE TRIGGER INSERCION

AFTER INSERT

ON CLIENTES

FOR EACH ROW

BEGIN

DBMS_OUTPUT.PUT_LINE('CLIENTE ADICIONADO');

END;

CREATE TABLE AUDITOR( REGISLONG VARCHAR(40));

CREATE OR REPLACE TRIGGER AUDITAR_CLIENTES

AFTER UPDATE

ON CLIENTES

FOR EACH ROW

BEGIN

INSERT INTO AUDITOR

VALUES('ANTERIOR' ||:OLD.LIMITE|| ' NUEVO' || :NEW.LIMITE);

END;

ALTER TABLE CLIENTES ADD FOREIGN KEY(ESTADO) REFERENCES ESTADOS(CODIGO);

CREATE OR REPLACE VIEW CLIENTES_ESTADOS

AS

SELECT CODIGO, NOMBRE, LIMITE, NOMBRE_E

FROM CLIENTES, ESTADOS

WHERE

CLIENTES.ESTADO=ESTADOS.CODIGO_E;

/

ALTER TABLE ESTADOS RENAME COLUMN CODIGO TO CODIGO_E;

__________________________________________________________________________________________________________________________________________

SQL> CREATE TABLE ARTICULOS (

2 CODIGO VARCHAR(5) PRIMARY KEY,DESCRIPCION VARCHAR (30),PRECIO NUMBER(5,2), CODIGO_ALMACEN VARCHAR(6));

Table created.

SQL> CREATE TABLE ARTICULOS_MAYOR(

2 CODIGO VARCHAR(5) PRIMARY KEY,DESCRIPCION VARCHAR (30),PRECIO NUMBER(5,2), CODIGO_ALMACEN VARCHAR(6));

Table created.

SQL> CREATE TABLE ARTICULOS_MENOR(

2 CODIGO VARCHAR(5) PRIMARY KEY,DESCRIPCION VARCHAR (30),PRECIO NUMBER(5,2), CODIGO_ALMACEN VARCHAR(6));

SQL> CREATE TABLE ALMACENES(

2 CODIGO_ALMACENES VARCHAR (6) PRIMARY KEY,

3 NOMBRE_ALMACENES VARCHAR (30));

Table created.

SQL> ALTER TABLE ARTICULOS ADD FOREIGN KEY(CODIGO_ALMACEN) REFERENCES ALMACENES(CODIGO_ALMACENES);

Table altered.

insert into articulos values ('00001','DESODORANTE EN AEROSOL', 40.00, 100001);

insert into articulos values ('00002','AGUA CIEL 600ml', 10.00, 100001);

insert into articulos values ('00003','PAPAS FRITAS', 11.00, 100001);

insert into ALMACENES values (100001,'PRODUCTO TERMINADO');

PROCEDIMIENTO PARA TABLAS MENOR Y MAYOR

_____________________________________________________________________________________________________________________________________________

CREATE OR REPLACE PROCEDURE

...

Descargar como (para miembros actualizados)  txt (14 Kb)   pdf (64 Kb)   docx (22 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com