1. Oracle 9i PL/SQL – Básico
Contenido del Curso
Introducción al lenguaje de programación procedural de Oracle PL/SQL. En esta clase, los
alumnos aprenderán a crear bloques PL/SQL y los diferentes ámbitos para su aplicación.
Utilización de iSQL*Plus para ejecutar bloques anónimos PL/SQL. Procedimientos, funciones,
paquetes y disparadores dentro de la base de datos.
Código de curso: FDORA014
Duración: 28hs
Perfil del Alumno
• Desarrollador de aplicaciones de base de datos
• Administrador de base de datos
Conocimientos Requeridos
• Oracle 9i SQL – Introducción a SQL
Conocimientos Sugeridos
Cursos Complementarios
Alcance
Utilizar construcciones de programación PL/SQL
Manejar de forma condicional el flujo del código (bucles, estructuras de control y cursores
explícitos)
Comprender la sintaxis de PL/SQL
Diseñar bloques anónimos PL/SQL que se ejecuten de forma eficaz
Utilizar algunos de los paquetes PL/SQL suministrados por Oracle
Crear procedimientos y funciones
Crear disparadores (triggers)
Crear paquetes PL/SQL para agrupar y contener procedimientos y funciones relacionados
Página 1
2. Temario:
1. Introducción a PL/SQL
1.1. ¿Qué Es PL/SQL?
1.2. Entorno PL/SQL
1.3. Ventajas de PL/SQL
1.4. Bloques PL/SQL
1.5. Bloque Anónimo Simple
1.6. Generación de Salida desde un Bloque PL/SQL
1.7. iSQL*Plus
2. Declaración de Identificadores PL/SQL
2.1. Tipos de Identificadores en un Subprograma PL/SQL
2.2. Sección Declarativa para Definir Identificadores
2.3. Usos para Variables
2.4. Almacenamiento de Datos en Variables
2.5. Declaración de Variables PL/SQL
3. Escritura de Sentencias Ejecutables
3.1. Sintaxis Básica de Bloque
3.2. Uso de Literales
3.3. Funciones SQL
3.4. Sentencias y Bloques Anidados
3.5. Referencia a un Valor de Identificador en un Bloque Anidado
3.6. Cualificación de un Identificador con una Etiqueta
3.7. Uso de Operadores en PL/SQL
3.8. Sintaxis de Bloque PL/SQL
4. Interacción con Oracle Server
4.1. SQL en PL/SQL
4.2. Sentencias SELECT en PL/SQL
4.3. Recuperación de Datos con la Sentencia SELECT
4.4. Cómo Evitar Errores al Utilizar Recuperación y Sentencias DML
4.5. Manipulación de Datos en el Servidor mediante PL/SQL
4.6. Concepto de Cursor SQL
4.7. Uso de Atributos de Cursor SQL para Obtener Feedback sobre DML
4.8. Guardar y Desechar Transacciones
5. Escritura de Estructuras de Control
5.1. Control del Flujo de Ejecución PL/SQL
5.2. Procesamiento Condicional mediante Sentencias IF
5.3. Sentencias CASE de Procesamiento Condicional
5.4. Manejo de Valores Nulos
5.5. Condiciones Booleanas con Operadores Lógicos
5.6. Sentencias de Bucle
6. Tipos de Datos Compuestos
6.1. Tipos de Datos Compuestos de Registros y Tablas PL/SQL
6.2. Registros PL/SQL
6.3. Inserción y Actualización con Registros PL/SQL
6.4. Tablas INDEX BY
Página 2
3. 7. Uso de Cursores Explícitos
7.1. Diferencia entre cursores implícitos y explícitos
7.2. Cuando usar cursores explícitos
7.3. Uso de variables de registro
7.4. Cursores FOR loop
8. Cursores Explícitos Avanzados
8.1. Parametros de cursor
8.2. Cursor FOR UPDATE clause
8.3. Clausula WHERE CURRENT OF
8.4. Cursores que utilizan subconsultas
9. Manejo de Excepciones
9.1. Manejo de Excepciones con PL/SQL
9.2. Excepciones Predefinidas
9.3. Interrupción de Errores No Predefinidos de Oracle Server
9.4. SQLCODE y SQLERRM
9.5. Interrupción de Excepciones Definidas por el Usuario
9.6. Propagación de Excepciones
9.7. Procedimiento RAISE_APPLICATION_ERROR
10. Procedimientos Almacenados
10.1. Estructura de bloque para procedimientos PL/SQL almacenados
10.2. Llamada a un procedimiento/función almacenado desde distintas herramientas
10.3. Llamada a un procedimiento almacenado con variables de host desde iSQL*Plus, Forms,
Java, C, etc
10.4. Llamada a un procedimiento almacenado
10.5. CREATE OR REPLACE PROCEDURE
10.6. Pasos de desarrollo para crear un procedimiento almacenado
10.7. Comando SHOW ERRORS
10.8. Vista USER_SOURCE
11. Funciones Almacenadas
11.1. Descripción de funciones almacenadas
11.2. CREATE OR REPLACE FUNCTION
11.3. Pasos para crear una función almacenada
11.4. Creación de una función almacenada en iSQL*Plus
11.5. Ejecución de una función almacenada
11.6. Ventajas del uso de funciones almacenadas en sentencias SQL
11.7. Restricciones de llamada a funciones desde sentencias SQL
11.8. Eliminación de una función
12. Administrando Subprogramas
12.1. Privilegios de programas y de objetos
12.2. Derechos de invocación
12.3. Administración de objetos por medio del diccionario de datos
12.4. DBMS_OUTPUT
13. Creación de Paquetes
13.1. Ventajas en la utilización de paquetes
13.2. Descripción de paquetes
Página 3
4. 13.3. Componentes de un paquete
13.4. Diagrama de visibilidad
13.5. Desarrollo de un paquete
13.6. Especificación del paquete
13.7. Declaración de construcciones públicas
13.8. Cuerpo del paquete
14. Otros Conceptos de Paquete
14.1. Ventajas de la sobrecarga
14.2. Ejemplo de sobrecarga
14.3. Declaraciones anticipadas en paquetes
14.4. Procedimiento único (inicialización del paquete)
14.5. Restricciones en funciones de paquete utilizadas en SQL
14.6. Encapsulamiento de código
14.7. Uso de una función de paquete desde una sentencia SQL
14.8. Variables del paquete
15. Creación de Disparadores (Triggers)
15.1. Tipos de disparadores y su modo de ejecución
15.2. Ventajas e instrucciones de uso
15.3. Ejecución de un trigger
15.4. Sintaxis y creación de disparadores
15.5. Secuencia de arranque
15.6. Disparadores de nivel de fila
15.7. OLD y NEW
15.8. Predicados condicionales
Página 4