Temario del curso
Introducción
- Objetivos y metas
- Planificación del curso
- Presentaciones
- Requisitos previos
- Responsabilidades
Herramientas de SQL
- Objetivos
- SQL Developer
- SQL Developer - Conexión
- Visualización de información de tablas
- Uso de SQL, SQL Developer - Consulta
- Iniciar sesión con SQL*Plus
- Conexión directa
- Uso de SQL*Plus
- Cierre de la sesión
- Comandos de SQL*Plus
- Entorno de SQL*Plus
- Indicador de comandos de SQL*Plus
- Buscar información sobre tablas
- Obtener ayuda
- Uso de archivos SQL
- iSQL*Plus, Modelos de Entidades
- Tablas de ÓRDENES
- Tablas de PELÍCULAS
- Distribución de tablas del curso
- Sintaxis de sentencias SQL
- Comandos de SQL*Plus
¿Qué es PL/SQL?
- ¿Qué es PL/SQL?
- ¿Por qué usar PL/SQL?
- Estructura de bloques
- Mostrar un mensaje
- Código de muestra
- Configuración de SERVEROUTPUT
- Ejemplo de actualización, Guía de estilo
Variables
- Variables
- Tipos de datos
- Asignación de variables
- Constantes
- Variables locales y globales
- Variables %Type
- Variables de sustitución
- Comentarios con &
- Opción de verificación
- Variables &&
- Definir y no definir
Sentencia SELECT
- Sentencia SELECT
- Llenado de variables
- Variables %Rowtype
- Función CHR
- Estudio autodidacta
- Registros en PL/SQL
- Ejemplos de declaraciones
Sentencia Condicional
- Sentencia IF
- Sentencia SELECT
- Estudio autodidacta
- Sentencia Case
Captura de Errores
- Excepción
- Errores internos
- Código y mensaje de error
- Uso de No Data Found
- Excepciones de usuario
- Generar error de aplicación
- Captura de errores no definidos
- Uso de PRAGMA EXCEPTION_INIT
- Commit y Rollback
- Estudio autodidacta
- Bloques anidados
- Taller práctico
Iteración - Bucles
- Sentencia Loop
- Sentencia While
- Sentencia For
- Sentencia Goto y Etiquetas
Cursores
- Cursores
- Attributos de cursor
- Cursores explícitos
- Ejemplo de cursor explícito
- Declaración del cursor
- Declaración de la variable
- Open, Recuperar la primera fila
- Recuperar la siguiente fila
- Exit When %Notfound
- Close
- 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 práctico
- Solución del taller
Procedimientos, Funciones y Paquetes
- Sentencia Create
- Parámetros
- Cuerpo del procedimiento
- Mostrar errores
- Describir un procedimiento
- Llamar procedimientos
- Llamar procedimientos en SQL*Plus
- Uso de parámetros de salida
- Llamada con parámetros de salida
- Creación de funciones
- Función de ejemplo
- Mostrar errores
- Describir una función
- Llamar funciones
- Llamar funciones en SQL*Plus
- Programación modular
- Procedimiento de ejemplo
- Llamar funciones
- Llamar funciones dentro de una sentencia IF
- Creación de paquetes
- Ejemplo de paquete
- Razones para usar paquetes
- Subprogramas públicos y privados
- Mostrar errores
- Describir un paquete
- Llamar paquetes en SQL*Plus
- Llamar paquetes desde subprogramas
- Eliminar un subprograma
- Localizar subprogramas
- Creación de un paquete de depuración
- Llamar el paquete de depuración
- Notación posicional y por nombre
- Valores predeterminados de parámetros
- Recompilar procedimientos y funciones
- Taller práctico
Disparadores (Triggers)
- Creación de disparadores
- Disparadores de sentencia
- Disparadores a nivel de fila
- Restricción WHEN
- Disparadores selectivos - IF
- Mostrar errores
- Commit en disparadores
- Restricciones
- Disparadores mutables
- Localizar disparadores
- Eliminar un disparador
- Generar un número automático
- Deshabilitar disparadores
- Habilitar disparadores
- Nombre de los disparadores
Datos de Muestra
- Tablas de ÓRDENES
- Tablas de PELÍCULAS
- Tablas de EMPLEADOS
SQL Dinámico
- SQL en PL/SQL
- Vinculación (Binding)
- SQL dinámico
- SQL dinámico nativo
- DDL y DML
- Paquete DBMS_SQL
- SQL dinámico - SELECT
- SQL dinámico - Procedimiento SELECT
Uso de Archivos
- Uso de archivos de texto
- Paquete UTL_FILE
- Ejemplo de escritura/adicción
- Ejemplo de lectura
- Ejemplo de disparador
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables %Type
- Variables de registro
- Tipos de colección
- Tablas indexadas
- Asignación de valores
- Elementos inexistentes
- Tablas anidadas
- Inicialización de tabla anidada
- Uso del constructor
- Adición a una tabla anidada
- Varrays
- Inicialización de Varray
- Adición de elementos a un Varray
- Colector multinivel
- Vinculación masiva (Bulk Bind)
- Ejemplo de vinculación masiva
- Problemas transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
Cursores de Referencia (Ref Cursors)
- Variables de cursor
- Definición de tipos REF CURSOR
- Declaración de variables de cursor
- Restringidas y no restringidas
- Uso de variables de cursor
- Ejemplos de variables de cursor
Requerimientos
El curso es adecuado solo para personas que tengan cierto conocimiento de SQL.
La experiencia previa con un sistema informático interactivo es deseable, pero no es obligatoria.
Reseñas (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