Temario del curso
Introducción
- Objetivos y fines
- Programa del curso
- Presentaciones
- Requisitos previos
- Responsabilidades
Herramientas SQL
- Objetivos
- SQL Developer
- Conexión con SQL Developer
- Consulta de información sobre tablas
- Uso de SQL y SQL Developer para consultas
- Iniciar sesión en SQL*Plus
- Conexión directa
- Uso de SQL*Plus
- Cierre de la sesión
- Comandos de SQL*Plus
- Ambiente de SQL*Plus
- Indicador de entrada de SQL*Plus (Prompt)
- 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
- Guía de las tablas del curso
- Sintaxis de las sentencias SQL
- Comandos de SQL*Plus
¿Qué es PL/SQL?
- Definición de PL/SQL
- Ventajas de utilizar PL/SQL
- Estructura por bloques
- Aparecido 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 %Type
- Variables de sustitución
- Comentarios con &
- Opción Verify
- Variables &&
- Define y Undefine
Sentencia SELECT
- Sentencia SELECT
- Población de variables
- Variables %Rowtype
- Función CHR
- Estudio individual
- Registros en PL/SQL
- Ejemplos de declaraciones
Sentencias condicionales
- Sentencia IF
- Sentencia SELECT
- Estudio individual
- Sentencia CASE
Gestión de errores
- Excepciones
- Errores internos
- Códigos y mensajes de error
- Uso de 'No Data Found' (Sin datos encontrados)
- Excepciones definidas por el usuario
- Raise Application Error
- Gestión de errores no definidos
- Uso de PRAGMA EXCEPTION_INIT
- Commit y Rollback
- Estudio individual
- Bloques anidados
- Taller
Iteración - Bucles
- Bucle Loop
- Bucle While
- Bucle For
- Sentencia Goto y etiquetas
Cursores
- Concepto de cursores
- Atributos del cursor
- Cursores explícitos
- Ejemplo de cursor explícito
- Declaración del cursor
- Declaración de la variable
- Abrir y obtener la primera fila
- Obtener la siguiente fila
- Salir cuando %Notfound
- Cerrar (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 del cursor,
- Taller
- Solución del taller
Procedimientos, funciones y paquetes
- Sentencia CREATE
- Parámetros
- Cuerpo del procedimiento
- Muestra 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
- Ejemplo de función
- Muestra de errores
- Descripción de una función
- Llamada a funciones
- Llamada a funciones en SQL*Plus
- Programación modular
- Ejemplo de procedimiento
- Llamada a funciones
- Llamada a funciones dentro de una sentencia IF
- Creación de paquetes
- Ejemplo de paquete
- Razones para usar paquetes
- Subprogramas públicos y privados
- Muestra 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 (Debug)
- Llamada al paquete de depuración
- Notación posicional y con nombre
- Valores predeterminados de los parámetros
- Recompilación de procedimientos y funciones
- Taller
Disparadores (Triggers)
- Creación de disparadores
- Disparadores a nivel de sentencia
- Disparadores a nivel de fila
- Restricción WHEN
- Disparadores selectivos - IF
- Muestra de errores
- Commit en disparadores
- Restricciones
- Disparadores mutantes (Mutating triggers)
- Búsqueda de disparadores
- Eliminación de un disparador
- Generación de números autoincrementales
- Deshabilitar disparadores
- Habilitar disparadores
- Nombres de disparadores
Datos de ejemplo
- Tablas ORDER
- Tablas FILM
- Tablas EMPLOYEE
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
- Procedimiento SQL dinámico - SELECT
Uso de archivos
- Uso de archivos de texto
- Paquete UTL_FILE
- Ejemplo de escritura/anexo
- Ejemplo de lectura
- Ejemplo de disparador
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables %Type
- Variables de registro (Record)
- Tipos de colección
- Tablas indexadas por índice (Index-By Tables)
- Asignación de valores
- Elementos inexistentes
- Tablas anidadas (Nested Tables)
- 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
- Bulk Bind (Vinculación masiva)
- Ejemplo de Bulk Bind
- Aspectos transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
Ref Cursors (Cursores REF)
- Variables de cursor
- Definición de tipos REF CURSOR
- Declaración de variables de cursor
- Constrainidas y no constrainidas
- Uso de variables de cursor
- Ejemplos de variables de cursor
Requerimientos
El curso está destinado únicamente a personas que posean conocimientos previos de SQL.
Se desea experiencia previa con sistemas informáticos interactivos, aunque no es estrictamente necesaria.
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