Post on 31-Jul-2015
Instructor: Ing. Hermes León
CURSO DE PL/SQL
Agenda del CursoIntroducción del lenguaje PL/SQLEstructuras de ControlCursores en PL/SQLManejo de ExcepcionesSubprogramas en bloques anónimos RegistrosTablas – RecordBulk CollectTransacciones: Sentencias Commit y
RollbackCursores con SQL Dinámico
Objetivos del CursoConocerá las principales estructuras de
programaciónConocerá los principales objetos utilizados para
el control de las bases de datosEscribir el código PL/SQL para Interactuar con
la base de datos de forma optima.Aprender a diseñar unidades de programas en
PL/SQL Usar la programación estructurada y sentencias
de control de condiciones.Ocultar errores de ejecución mostrando
mensajes Crear y ejecutar stored procedures, funciones y
packages de base de datos.
Temas HoyIntroducción del Lenguaje PL/SQLEstructuras de ControlCursores en PL/SQL
IntroducciónImplícitosExplícitosEjercicios
Introducción
Introducción PL/SQLPL/SQL (Procedural Language/SQL) es un sofisticado lenguaje de programación que se utiliza para acceder a la información, ampliando las habilidades del SQL y accediendo de forma mas directa a la Base Datos.
Cliente Servidor
Tipos de Comando SQLDMLLenguaje de manipulación de datos, como su nombre lo indica es utilizada únicamente para manejar datos. Los comandos SQL utilizados son: INSERT, UPDATE, DELETE, SELECT, COMMIT, ROLLBACK.
DDL Lenguaje de definición de datos, es utilizado para modificar la estructura de los objetos de datos. Los comandos SQL utilizados son: CREATE, DROP, ALTER, etc.
DCLLenguaje de control de datos, es utilizada para controlar el uso y manejo de datos. Los comandos SQL son: GRANT, REVOKE, etc.
Estructura Bloque PL/SQL
ESTRUCTURAS DE
CONTROL
Estructuras CondicionalesIF – THENSe evalúa la condición y si resulta verdadera, se ejecutan uno o más líneas de código de programa. En el caso de que la condición resulte falsa o nula, NO se realiza NINGUNA acción.
IF condición THEN Bloque de instrucciones; END IF;
Estructuras de ControlIF – THEN – ELSESe evalúa la condición y si resulta verdadera, se ejecutan uno o más líneas de código de programa. En el caso de que la condición resulte falsa, se ejecutan las instrucciones que siguen a la instrucción ELSE. Sólo se permite una instrucción ELSE en cada instrucción IF.
IF condición THEN Bloque de instrucciones; [ELSE Bloque de instrucciones;] END IF;
Estructuras de ControlIF – THEN – ELSIFSe evalúa la condición y si resulta verdadera, se ejecutan uno o más líneas de código de programa. En el caso de que la condición resulte ser falsa, se evalúa la condición especificada en el ELSIF.
Estructuras de ControlCASELa instrucción CASE puede evaluar múltiples expresiones y devolver para cada una de ellas un valor/bloque de instrucciones. El resultado de cada WHEN puede ser un valor o una sentencia, en el primer caso el resultado de una sentencia CASE se puede guardar en una variable.
Control RepetitivoWHILEEste verifica una condición, que mientras sea verdadera se mantiene en el ciclo. La sintaxis es la siguiente:
Utilice este ciclo para realizar iteraciones sobre un rango de números.
FOR numérico
Control RepetitivoLOOPEl bucle LOOP, se repite tantas veces como sea necesario hasta que se fuerza su salida con la instrucción EXIT
CURSORES
Ciclo de Vida de un cursor
Tipos de cursores•Cursores implícitos. Este tipo de cursores se utiliza para operaciones SELECT INTO. Se usan cuando la consulta devuelve un único registro.
•Cursores explícitos. Son los cursores que son declarados y controlados por el programador. Se utilizan cuando la consulta devuelve un conjunto de registros
Cursores Implícitos Los cursores implícitos se utilizan para realizar consultas SELECT que devuelven un único registro.• Palabra clave INTO. • Las variables que reciben los datos devueltos tienen que contener el mismo tipo de dato. • Los cursores implícitos solo pueden devolver una única fila. En caso de que se devuelva más de una fila (o ninguna fila) se producirá una excepción.
Cursores Explícitos Los cursores explícitos se emplean para realizar consultas SELECT que pueden devolver cero filas, o más de una fila.• Para trabajar con un cursor explicito
necesitamos realizar las siguientes tareas:
• Declarar el cursor. • Abrir el cursor con la instrucción
OPEN. • Leer los datos del cursor con la
instrucción FETCH. • Cerrar el cursor y liberar los recursos
con la instrucción CLOSE.
Cursores Explícitos
Cursores Explícitos
Cursores Explícitos
Cursores Explícitos
Cuando trabajamos con cursores debemos considerar:•Cuando un cursor está cerrado, no se puede leer. •Cuando leemos un cursor debemos comprobar el resultado de la lectura utilizando los atributos de los cursores. •Cuando se cierra el cursor, es ilegal tratar de usarlo. •Es ilegal tratar de cerrar un cursor que ya está cerrado o no ha sido abierto
Atributos del Cursor
Manejo del Cursor• Por medio de ciclo LOOP podemos iterar
a través del cursor.
Manejo del Cursor
Manejo del Cursor
Preguntas y Ejercicios
Gracias por su atención