Temario del curso
Introducción
- Objetivos generales y específicos
- Cronograma del curso
- Presentaciones
- Conocimientos previos necesarios
- Responsabilidades
Herramientas SQL
- Objetivos
- SQL Developer
- SQL Developer - Conexión
- Visualización de información de tablas
- Uso de SQL en SQL Developer - 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 (prompt) de SQL*Plus
- Búsqueda de información sobre tablas
- Solicitud de ayuda
- Uso de archivos SQL
- iSQL*Plus, modelos entidad-relación
- Las tablas ORDERS
- Las tablas FILM
- Documento de apoyo con las tablas del curso
- Sintaxis de las instrucciones SQL
- Comandos de SQL*Plus
¿Qué es PL/SQL?
- ¿Qué es PL/SQL?
- ¿Por qué utilizar PL/SQL?
- Estructura por bloques
- Muestra de un mensaje
- Código de ejemplo
- Configuración de SERVEROUTPUT
- Ejemplo de actualización, 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
Instrucción SELECT
- Instrucción SELECT
- Poblado de variables
- Variables %Rowtype
- Función CHR
- Estudio individual
- Registros PL/SQL
- Ejemplos de declaraciones
Instrucciones condicionales
- Instrucción IF
- Instrucción SELECT
- Estudio individual
- Instrucción Case
Gestión de errores
- Excepciones
- Errores internos
- Código y mensaje de error
- Uso de No Data Found
- 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
- Instrucción Loop
- Instrucción While
- Instrucción For
- Instrucción Goto y etiquetas
cursores
- Cursors
- Atributos del cursor
- Cursors 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
- Salida cuando %Notfound
- Cerrar
- Bucle For I
- Bucle For II
- Ejemplo de actualización
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Commit con cursors
- Ejemplo de validación I
- Ejemplo de validación II
- Parámetros del cursor,
- Taller
- Solución del taller
Procedimientos, funciones y paquetes
- Instrucción Create
- Parámetros
- Cuerpo del procedimiento
- Visualización de errores
- Descripción de un procedimiento
- Llamada a procedimientos
- Llamada a procedimientos desde SQL*Plus
- Uso de parámetros de salida
- Llamada con parámetros de salida
- Creación de funciones
- Ejemplo de función
- Visualización de errores
- Descripción de una función
- Llamada a funciones
- Llamada a funciones desde SQL*Plus
- Programación modular
- Ejemplo de procedimiento
- Llamada a funciones
- Llamada a funciones en una instrucción 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 desde 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 los parámetros
- Recompilación de procedimientos y funciones
- Taller
Disparadores (Triggers)
- Creación de disparadores
- Disparadores a nivel de instrucción
- Disparadores a nivel de fila
- Restricción WHEN
- Disparadores selectivos - IF
- Visualización de errores
- Commit en disparadores
- Restricciones
- Disparadores de mutación
- Búsqueda de disparadores
- Eliminación de un disparador
- Generación de auto-números
- 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
- Ligado (Binding)
- 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/apéndice
- Ejemplo de lectura
- Ejemplo con disparadores
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables %Type
- Variables de tipo registro
- Tipos de colección
- Tablas Index-By
- 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 varrays
- Agregado de elementos a un Varray
- Colecciones multinivel
- Ligado masivo (Bulk Bind)
- Ejemplo de ligado masivo
- Aspectos transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
Cursors REF
- Variables de cursor
- Definición de tipos REF CURSOR
- Declaración de variables de cursor
- Restringidos y no restringidos
- Uso de variables de cursor
- Ejemplos de variables de cursor
Requerimientos
El curso está dirigido únicamente a personas que tengan ciertos conocimientos de SQL.
Es deseable tener experiencia previa con sistemas informáticos interactivos, aunque no es imprescindible.
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