Temario del curso
Introducción
- Objetivos y Propósitos
- 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
- Cerrar Sesión
- Comandos SQL*Plus
- Entorno SQL*Plus
- Instantánea SQL*Plus (Prompt)
- Buscar Información sobre Tablas
- Obtener Ayuda
- Uso de Archivos SQL
- iSQL*Plus, Modelos de Entidades
- Tablas de ORDERS
- Tablas de FILM
- Materiales Impresos de Tablas del Curso
- Sintaxis de Declaraciones SQL
- Comandos SQL*Plus
¿Qué es PL/SQL?
- ¿Qué es PL/SQL?
- ¿Por qué Usar PL/SQL?
- Estructura de Bloques
- Mostrando un Mensaje
- Código de Ejemplo
- Configuración de SERVEROUTPUT
- Ejemplo de Actualización, Guía de Estilo
Variables
- Variables
- Tipos de Datos
- Configuración de Variables
- Constantes
- Variables Locales y Globales
- Variables %Type
- Variables de Sustitución
- Comentarios con &
- Opción de Verificación
- Variables &&
- Definir y Desdefinir
Declaración SELECT
- Declaración SELECT
- Asignando Valores a Variables
- Variables %Rowtype
- Función CHR
- Estudio Independiente
- Registros en PL/SQL
- Declaraciones de Ejemplo
Declaración Condicional
- Declaración IF
- Declaración SELECT
- Estudio Independiente
- Declaración Case
Manejo 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 (Raise Application Error)
- Manejo de Errores No Definidos
- Uso de PRAGMA EXCEPTION_INIT
- Commit y Rollback
- Estudio Independiente
- Bloques Anidados
- Taller
Iteración - Bucle
- Declaración Loop
- Declaración While
- Declaración For
- Declaración Goto y Etiquetas
Cursores
- Cursores
- Attributos del Cursor
- Cursores Explícitos
- Ejemplo de Cursor Explícito
- Declarando el Cursor
- Declarando la Variable
- Abriendo, Obteniendo la Primera Fila
- Obteniendo la Siguiente Fila
- Exit When %Notfound
- Cerrar
- 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
- Declaración Create
- Parámetros
- Cuerpo del Procedimiento
- Mostrando Errores
- Describir un Procedimiento
- Llamando Procedimientos
- Llamando Procedimientos en SQL*Plus
- Uso de Parámetros de Salida
- Llamando con Parámetros de Salida
- Creando Funciones
- Función de Ejemplo
- Mostrando Errores
- Describir una Función
- Llamando Funciones
- Llamando Funciones en SQL*Plus
- Programación Modular
- Procedimiento de Ejemplo
- Llamando Funciones
- Llamando Funciones en una Declaración IF
- Creando Paquetes
- Ejemplo de Paquete
- Motivaciones para los Paquetes
- Subprogramas Públicos y Privados
- Mostrando Errores
- Describir un Paquete
- Llamando Paquetes en SQL*Plus
- Llamando Paquetes desde Subprogramas
- Eliminar un Subprograma
- Encontrar Subprogramas
- Creando un Paquete de Depuración
- Llamando el Paquete de Depuración
- Notación Posicional y Nominal
- Valores Predeterminados de Parámetros
- Recompilando Procedimientos y Funciones
- Taller
Disparadores
- Creando Disparadores
- Disparadores de Declaración
- Disparadores de Nivel de Fila
- Restricción WHEN
- Disparadores Selectivos - IF
- Mostrando Errores
- Commit en Disparadores
- Restricciones
- Disparadores Mutantes (Mutating Triggers)
- Encontrar Disparadores
- Eliminar un Disparador
- Generando un Número Automático
- Deshabilitando Disparadores
- Habilitando 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
- SQL Dinámico - Procedimiento SELECT
Uso de Archivos
- Uso de Archivos de Texto
- Paquete UTL_FILE
- Ejemplo de Escribir/Agregar
- Ejemplo de Lectura
- Ejemplo de Disparador
- Paquetes DBMS_ALERT
- Paquete DBMS_JOB
COLECCIONES
- Variables %Type
- Variables de Registro
- Tipos de Colección
- Tablas Index-By
- Estableciendo Valores
- Elementos Inexistentes
- Tablas Anidadas
- Inicialización de Tabla Anidada
- Uso del Constructor
- Añadiendo a una Tabla Anidada
- Varrays
- Inicialización de Varray
- Añadiendo Elementos a un Varray
- Colecciones Multi-nivel
- Vinculación Masiva (Bulk Bind)
- Ejemplo de Vinculación Masiva
- Problemas Transaccionales
- Cláusula BULK COLLECT
- RETURNING INTO
Cursores de Referencia
- Variables de Cursor
- Definiendo Tipos REF CURSOR
- Declarando Variables de Cursor
- Restringidos y No Restringidos
- Uso de Variables de Cursor
- Ejemplos de Variable de Cursor
Requerimientos
El curso solo es adecuado para personas que tengan cierto conocimiento de SQL.
Se desea experiencia previa con un sistema informático interactivo, pero 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