Está en la página 1de 2

Programación de bases de datos con

9-4: Gestión de procedimientos y funciones


actividades de práctica PL / SQL
Vocabulario

Identifique la palabra de vocabulario para cada definición a continuación:

La tabla de diccionario que contiene el código fuente de todos los


subprogramas que posee.

La tabla de diccionario que contiene los nombres y tipos de


procedimientos y funciones que posee.

La tabla de diccionario que contiene el código fuente de los subprogramas


que son propiedad de otras personas que le han otorgado el privilegio
EXECUTE.

Pruébalo / Resuélvelo

1. Complete los pasos a continuación para ver cómo se propagan las excepciones.

A. Ejecute las siguientes dos sentencias SQL para crear un duplicado de la tabla DEPARTMENTS, con
department_id como clave principal.

CREAR TABLA my_depts COMO SELECT * FROM departamentos;

ALTER TABLE my_depts


AÑADIR RESTRICCIÓN my_dept_id_pk CLAVE PRIMARIA (departamento_id);

B. Examine el siguiente código y cree el procedimiento. Guarde su trabajo (deberá modificar el código de
procedimiento más adelante).

CREAR O REEMPLAZAR EL PROCEDIMIENTO add_my_dept (p_dept_id


IN VARCHAR2, p_dept_name IN VARCHAR2) HA COMENZADO

INSERT INTO my_depts (department_id, department_name)


VALUES (p_dept_id, p_dept_name);
END add_my_dept;

Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. Oracle y Java son marcas comerciales registradas de Oracle y / o sus afiliadas. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios.
C. ¿Qué crees que pasaría si ejecutas este procedimiento para insertar department_id 10
(que ya existe)? Escribe y ejecuta un bloque anónimo para probar tu teoría.

D. Modifique su procedimiento para manejar la excepción en un manejador de excepciones WHEN OTHERS


genérico.

E. Ahora, ¿qué crees que pasaría si ejecutas este procedimiento para department_id 10 (que ya
existe)? Pruébelo de nuevo como en el paso C.

F. Modifique el código de procedimiento para volver a omitir la sección de excepción. Ejecute el código.

CREAR O REEMPLAZAR EL PROCEDIMIENTO add_my_dept (p_dept_id


IN VARCHAR2, p_dept_name IN VARCHAR2) HA COMENZADO

INSERT INTO my_depts (department_id, department_name)


VALUES (p_dept_id, p_dept_name);
END add_my_dept;

G. Ejecute el siguiente código para crear un nuevo procedimiento llamado external_proc que
llama a add_my_dept y le pasa el department_id 10:

CREAR O REEMPLAZAR EL PROCEDIMIENTO external_proc IS


v_dept NÚMERO 2) : = 10;
v_dname VARCHAR2 (30) : = 'Administrador';

COMENZAR

add_my_dept (v_dept, v_dname);


EXCEPCIÓN
CUANDO OTROS ENTONCES
DBMS_OUTPUT.PUT_LINE ('La excepción se propagó a external_proc');
FIN;

H. Ejecute external_proc desde un bloque anónimo. ¿Qué pasa y por qué?

2. Escriba y ejecute una instrucción SELECT para enumerar los nombres de todos los procedimientos que ha creado hasta
ahora.

3. Elimine el último procedimiento que creó: external_proc.

4. Escriba y ejecute una instrucción SELECT para enumerar el código fuente de su procedimiento add_my_dept.
Asegúrese de que su declaración SELECT enumere las líneas de código en el orden correcto.

Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. Oracle y Java son marcas comerciales registradas de Oracle y / o sus afiliadas. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios.

También podría gustarte