La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Oracle Pl/SQl Developer – Nivel 1

Presentaciones similares


Presentación del tema: "Oracle Pl/SQl Developer – Nivel 1"— Transcripción de la presentación:

1 Oracle Pl/SQl Developer – Nivel 1
Plan de formación 2013 Oracle Pl/SQl Developer – Nivel 1 Clase 9 – Paquetes

2 09 Paquetes 01 Introducción a PL/SQL 02 Declaración de variables
ÍNDICE 01 Introducción a PL/SQL 02 Declaración de variables 03 Estructuras de control 04 Cursores 05 Estructuras de datos 06 Excepciones 07 Manejo de archivos 08 Procedimientos almacenados y funciones 09 Paquetes 10 Disparadores

3 09 Paquetes Introducción Introducción - Paquetes PL / SQL
Un paquete es una colección encapsulada de objetos relacionados con el programa almacenados juntos en la base de datos. Por ejemplo, procedimientos, funciones, variables, constantes, cursores y excepciones. Utilizar paquetes es una alternativa a la creación de procedimientos y funciones como objetos de esquema independiente. Los paquetes tienen muchas ventajas sobre los procedimientos y funciones independientes. Por ejemplo, que: Le permite organizar su desarrollo de aplicaciones de manera más eficiente. Le permite conceder privilegios de manera más eficiente. Le permite modificar los objetos del paquete sin tener que recompilar los objetos de esquemas dependientes. Permite que Oracle Database cargue múltiples objetos del paquete en la memoria a la vez. Puede contener variables y cursores que están disponibles para todos los procedimientos y funciones en el paquete global. Le permite la sobrecarga de procedimientos o funciones. Sobrecargar un procedimiento implica la creación de múltiples procedimientos con el mismo nombre en el mismo paquete, cada uno teniendo argumentos de diverso número o tipo de datos.

4 09 Paquetes Introducción Introducción - Paquetes PL / SQL Vea también:
Guía de Base de Datos Oracle PL / SQL y referencia de usuario para obtener más información sobre el nombre de subprograma sobrecarga ( La sección de especificación de un paquete declara los tipos públicos, variables, constantes, y subprogramas que son visibles fuera del alcance inmediato del paquete. El cuerpo de un paquete define los objetos declarados en la especificación, así como los objetos privados que no son visibles para las aplicaciones fuera del paquete.

5 09 Paquetes Ejemplo de PL / SQL Especificación del paquete y del cuerpo Ejemplo de PL / SQL Especificación del paquete y del cuerpo El siguiente ejemplo muestra una especificación de paquete para un paquete llamado Employee_management. El paquete contiene una función almacenada y dos procedimientos almacenados. El cuerpo de este paquete define la función y los procedimientos: CREATE PACKAGE BODY Employee_management AS FUNCTION Hire_emp (Name VARCHAR2, Job VARCHAR2, Mgr NUMBER, Hiredate DATE, Sal NUMBER, Comm NUMBER, Deptno NUMBER) RETURN NUMBER IS New_empno NUMBER(10); -- This function accepts all arguments for the fields in -- the employee table except for the employee number. -- A value for this field is supplied by a sequence. -- The function returns the sequence number generated -- by the call to this function. BEGIN SELECT Emp_sequence.NEXTVAL INTO New_empno FROM dual; INSERT INTO Emp_tab VALUES (New_empno, Name, Job, Mgr, Hiredate, Sal, Comm, Deptno); RETURN (New_empno); END Hire_emp;

6 09 Paquetes Ejemplo de PL / SQL Especificación del paquete y del cuerpo PROCEDURE fire_emp(emp_id IN NUMBER) AS -- This procedure deletes the employee with an employee -- number that corresponds to the argument Emp_id. If -- no employee is found, then an exception is raised. BEGIN DELETE FROM Emp_tab WHERE Empno = Emp_id; IF SQL%NOTFOUND THEN Raise_application_error(-20011, 'Invalid Employee Number: ' || TO_CHAR(Emp_id)); END IF; END fire_emp;

7 09 Paquetes Ejemplo de PL / SQL Especificación del paquete y del cuerpo PROCEDURE Sal_raise (Emp_id IN NUMBER, Sal_incr IN NUMBER) AS -- This procedure accepts two arguments. Emp_id is a -- number that corresponds to an employee number. -- SAL_INCR is the amount by which to increase the -- employee's salary. If employee exists, then update -- salary with increase. BEGIN UPDATE Emp_tab SET Sal = Sal + Sal_incr WHERE Empno = Emp_id; IF SQL%NOTFOUND THEN Raise_application_error(-20011, 'Invalid Employee Number: ' || TO_CHAR(Emp_id)); END IF; END Sal_raise; END Employee_management;

8 Jorge Alberto Brizuela Mercado de Telecomunicaciones Cochabamba 2552, 8vo Piso Ciudad de Buenos Aires Argentina T


Descargar ppt "Oracle Pl/SQl Developer – Nivel 1"

Presentaciones similares


Anuncios Google