Temario del curso
Introducción
- Objetivos y metas del curso
- Calendario del curso
- Presentaciones
- Prerrequisitos
- Responsabilidades
Herramientas SQL
- Objetivos
- SQL Developer
- SQL Developer - Conexión
- Visualización de información de tablas
- Uso de SQL y SQL Developer para consultas
- Inicio de sesión en SQL*Plus
- Conexión directa
- Uso de SQL*Plus
- Finalización de la sesión
- Comandos de SQL*Plus
- Ambiente de SQL*Plus
- Indicador de SQL*Plus
- Búsqueda de información sobre tablas
- Obtención de ayuda
- Uso de archivos SQL
- iSQL*Plus y modelos de entidades
- Tablas ORDERS
- Tablas FILM
- Hoja de trabajo con tablas del curso
- Sintaxis de sentencias SQL
- Comandos de SQL*Plus
¿Qué es PL/SQL?
- ¿Qué es PL/SQL?
- ¿Por qué utilizar PL/SQL?
- Estructura de bloques
- Visualización de mensajes
- Código de ejemplo
- Configuración de SERVEROUTPUT
- Ejemplo de actualización y guía de estilo
Variables
- Variables
- Tipos de datos
- Asignación de valores a variables
- Constantes
- Variables locales y globales
- Variables con %Type
- Variables de sustitución
- Comentarios con &
- Opción Verify
- Variables con &&
- Define y Undefine
Sentencia SELECT
- Sentencia SELECT
- Población de variables
- Variables con %Rowtype
- Función CHR
- Estudio individual
- Registros en PL/SQL
- Ejemplos de declaraciones
Declaración Condicional
- Sentencia IF
- Sentencia SELECT
- Estudio individual
- Sentencia CASE
Control de errores
- Excepciones
- Errores internos
- Código y mensaje de error
- Uso de No Data Found
- Excepciones definidas por el usuario
- Raise Application Error
- Control de errores no definidos
- Uso de PRAGMA EXCEPTION_INIT
- Commit y Rollback
- Estudio individual
- Bloques anidados
- Taller
Iteración - Bucles
- Sentencia Loop
- Sentencia While
- Sentencia For
- Sentencia Goto y etiquetas
Cursores
- Cursores
- Atributos de cursores
- Cursores explícitos
- Ejemplo de cursor explícito
- Declaración del cursor
- Declaración de la variable
- Apertura y recuperación de la primera fila
- Recuperación de la siguiente fila
- Salida cuando %Notfound
- Cierre
- Bucle For I
- Bucle For II
- Ejemplo de actualización
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Commit con cursores
- Ejemplo de validación I
- Ejemplo de validación II
- Parámetros de cursor
- Taller
- Solución del taller
Procedimientos, funciones y paquetes
- Sentencia Create
- Parámetros
- Cuerpo del procedimiento
- Visualización de errores
- Descripción de un procedimiento
- Llamada a procedimientos
- Llamada a procedimientos en SQL*Plus
- Uso de parámetros de salida
- Llamada con parámetros de salida
- Creación de funciones
- Función de ejemplo
- Visualización de errores
- Descripción de una función
- Llamada a funciones
- Llamada a funciones en SQL*Plus
- Programación modular
- Procedimiento de ejemplo
- Llamada a funciones
- Llamada a funciones dentro de una sentencia IF
- Creación de paquetes
- Ejemplo de paquete
- Motivos para usar paquetes
- Subprogramas públicos y privados
- Visualización de errores
- Descripción de un paquete
- Llamada a paquetes en SQL*Plus
- Llamada a paquetes desde subprogramas
- Eliminación de un subprograma
- Búsqueda de subprogramas
- Creación de un paquete de depuración
- Llamada al paquete de depuración
- Notación posicional y con nombre
- Valores predeterminados de parámetros
- Recompilación de procedimientos y funciones
- Taller
Disparadores
- Creación de disparadores
- Disparadores de declaración
- Disparadores a nivel de fila
- Restricción WHEN
- Disparadores selectivos - IF
- Visualización de errores
- Commit en disparadores
- Restricciones
- Disparadores mutantes
- Búsqueda de disparadores
- Eliminación de un disparador
- Generación de números automáticos
- Deshabilitación de disparadores
- Habilitación de disparadores
- Nombres de disparadores
Datos de ejemplo
- Tablas ORDER
- Tablas FILM
- Tablas EMPLOYEE
SQL Dinámico
- SQL en PL/SQL
- Vinculación
- SQL dinámico
- SQL dinámico nativo
- DDL y DML
- Paquete DBMS_SQL
- SQL dinámico - SELECT
- Procedimiento de SQL dinámico - SELECT
Uso de archivos
- Uso de archivos de texto
- Paquete UTL_FILE
- Ejemplo de escritura/apendizado
- Ejemplo de lectura
- Ejemplo con disparador
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables con %Type
- Variables de registro
- Tipos de colección
- Tablas Index-By
- Asignación de valores
- Elementos inexistentes
- Tablas anidadas
- Inicialización de tablas anidadas
- Uso del constructor
- Agregado a una tabla anidada
- Varrays
- Inicialización de varray
- Agregado de elementos a un varray
- Colecciones multinivel
- Vinculación masiva
- Ejemplo de vinculación masiva
- Aspectos transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
Cursores REF
- Variables de cursor
- Definición de tipos REF CURSOR
- Declaración de variables de cursor
- Constringidas y no constringidas
- Uso de variables de cursor
- Ejemplos de variables de cursor
Requerimientos
El curso está dirigido exclusivamente a personas que tengan conocimientos básicos de SQL.
Es recomendable tener experiencia previa con un sistema informático interactivo, aunque no es imprescindible.
Testimonios (7)
Me gustó la experiencia práctica y la oportunidad de trabajar en actividades de codificación reales
Kristine - Isuzu Philippines Corporation
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
Relacione cada tema con un caso de aplicación del mundo real.
Ferdinand - National Grid Corporation of the Philippines
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
las prácticas y las notas del formador
Hamda AlMahri - Dubai Courts
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
El Sr. Khobeib fue un excelente conferencista y formador. Como principiante en PL/SQL, Khobeib explicó los conceptos básicos con mucha paciencia mientras repasábamos el material de capacitación. Respondió a todas nuestras preguntas de manera exhaustiva y mostró muchos ejemplos cuando se lo pedíamos. Definitivamente aprendí mucho y puedo empezar a realizar tareas con PL/SQL.
Abdulrahman Alsalami - Dubai Courts
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
el formador fue de mucha ayuda en todo momento
Maitha Alselais - Dubai Courts
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
El formador fue excelente en todos los aspectos. Fue muy interactivo y ameno. Lo más importante es que los temas se enseñaron de manera muy clara y a un ritmo perfecto para completar el curso. Realmente lo aprecio mucho y me gustaría darle un gran agradecimiento al formador.
Vivek Thomas - Estee Lauder BV
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática
Fue bastante práctico, no demasiada teoría.
David Lambaerts - Estee Lauder BV
Curso - ORACLE PL/SQL Fundamentals
Traducción Automática