Temario del curso
Introducción
- Objetivos y Metas
- Programa del Curso
- Presentaciones
- Requisitos Previos
- Responsabilidades
Herramientas SQL
- Objetivos
- SQL Developer
- SQL Developer - Conexión
- Visualización de información de tablas
- Uso de SQL, SQL Developer - Consulta
- 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 comando (prompt) de SQL*Plus
- Búsqueda de información sobre tablas
- Obtener ayuda
- Uso de archivos SQL
- iSQL*Plus, Modelos Entidad-Relación
- Tablas ORDERS
- Tablas FILM
- Distribución de tablas del curso
- Sintaxis de instrucciones SQL
- Comandos de SQL*Plus
¿Qué es PL/SQL?
- ¿Qué es PL/SQL?
- ¿Por qué usar PL/SQL?
- Estructura de bloques
- Visualización 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
- Poblamiento de variables
- Variables %Rowtype
- Función CHR
- Estudio independiente
- Registros PL/SQL
- Ejemplos de declaraciones
Instrucciones Condicionales
- Instrucción IF
- Instrucción SELECT
- Estudio independiente
- Instrucción CASE
Gestión de Errores
- Excepción
- Errores internos
- Código y mensaje de error
- Uso de No Data Found
- Excepciones del usuario
- Lanzamiento con RAISE_APPLICATION_ERROR
- Gestión de errores no definidos
- Uso de PRAGMA EXCEPTION_INIT
- Commit y Rollback
- Estudio independiente
- Bloques anidados
- Taller
Iteración - Bucles
- Instrucción LOOP
- Instrucción WHILE
- Instrucción FOR
- Instrucción GOTO y etiquetas
Cursoredes
- Cursoredes
- Atributos de cursor
- Cursoredes explícitas
- Ejemplo de cursor explícito
- Declaración del cursor
- Declaración de la variable
- Abrir, obtención de la primera fila
- Obtención de la siguiente fila
- Salir cuando %NOTFOUND
- Cerrar
- Bucle FOR I
- Bucle FOR II
- Ejemplo de actualización
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Commit con cursoredes
- Ejemplo de validación I
- Ejemplo de validación II
- Parámetros de 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
- Llamado a procedimientos
- Llamado a procedimientos en SQL*Plus
- Uso de parámetros de salida
- Llamado con parámetros de salida
- Creación de funciones
- Ejemplo de función
- Visualización de errores
- Descripción de una función
- Llamado a funciones
- Llamado a funciones en SQL*Plus
- Programación modular
- Ejemplo de procedimiento
- Llamado a funciones
- Llamado a funciones en una instrucción IF
- Creación de paquetes
- Ejemplo de paquete
- Razones para usar paquetes
- Subprogramas públicos y privados
- Visualización de errores
- Descripción de un paquete
- Llamado a paquetes en SQL*Plus
- Llamado a paquetes desde subprogramas
- Eliminación de un subprograma
- Búsqueda de subprogramas
- Creación de un paquete de depuración
- Llamado al paquete de depuración
- Notación posicional y con nombre
- Valores predeterminados de parámetros
- Recompilación de procedimientos y funciones
- Taller
Triggers
- Creación de triggers
- Triggers a nivel de instrucción
- Triggers a nivel de fila
- Restricción WHEN
- Triggers selectivos - IF
- Visualización de errores
- Commit en triggers
- Restricciones
- Triggers mutating
- Búsqueda de triggers
- Eliminación de un trigger
- Generación de números autoincrementales
- Deshabilitación de triggers
- Habilitación de triggers
- Nombres de triggers
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/apendizado
- Ejemplo de lectura
- Ejemplo con trigger
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables %Type
- Variables de 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 varray
- Agregado de elementos a un varray
- Colecciones multinivel
- Vinculación masiva (Bulk Bind)
- Ejemplo de vinculación masiva
- Aspectos transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
REF CURSORs
- Variables de cursor
- Definición de tipos REF CURSOR
- Declaración de variables de cursor
- Limitadas (Constrained) e ilimitadas (Unconstrained)
- Uso de variables de cursor
- Ejemplos de variables de cursor
Requerimientos
El curso solo es adecuado para quienes tengan cierto conocimiento de SQL.
Deseable pero no esencial, experiencia previa con un sistema informático interactivo.
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