1 clase de ps /sql

30
Instructor: Ing. Hermes León CURSO DE PL/SQL

Upload: jose-luis-arce-c

Post on 31-Jul-2015

81 views

Category:

Education


5 download

TRANSCRIPT

Page 1: 1  clase  de  Ps /sql

Instructor: Ing. Hermes León

CURSO DE PL/SQL

Page 2: 1  clase  de  Ps /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

Page 3: 1  clase  de  Ps /sql

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.

Page 4: 1  clase  de  Ps /sql

Temas HoyIntroducción del Lenguaje PL/SQLEstructuras de ControlCursores en PL/SQL

IntroducciónImplícitosExplícitosEjercicios

Page 5: 1  clase  de  Ps /sql

Introducción

Page 7: 1  clase  de  Ps /sql

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.

Page 8: 1  clase  de  Ps /sql

Estructura Bloque PL/SQL

Page 9: 1  clase  de  Ps /sql

ESTRUCTURAS DE

CONTROL

Page 10: 1  clase  de  Ps /sql

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;

Page 11: 1  clase  de  Ps /sql

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;

Page 12: 1  clase  de  Ps /sql

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.

Page 13: 1  clase  de  Ps /sql

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.

Page 14: 1  clase  de  Ps /sql

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

Page 15: 1  clase  de  Ps /sql

Control RepetitivoLOOPEl bucle LOOP, se repite tantas veces como sea necesario hasta que se fuerza su salida con la instrucción EXIT

Page 16: 1  clase  de  Ps /sql

CURSORES

Page 17: 1  clase  de  Ps /sql

Ciclo de Vida de un cursor

Page 18: 1  clase  de  Ps /sql

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

Page 19: 1  clase  de  Ps /sql

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.

Page 20: 1  clase  de  Ps /sql

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.

Page 21: 1  clase  de  Ps /sql

Cursores Explícitos

Page 22: 1  clase  de  Ps /sql

Cursores Explícitos

Page 23: 1  clase  de  Ps /sql

Cursores Explícitos

Page 24: 1  clase  de  Ps /sql

Cursores Explícitos

Page 25: 1  clase  de  Ps /sql

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

Page 26: 1  clase  de  Ps /sql

Manejo del Cursor•  Por medio de ciclo LOOP podemos iterar

a través del cursor.

Page 27: 1  clase  de  Ps /sql

Manejo del Cursor

Page 28: 1  clase  de  Ps /sql

Manejo del Cursor

Page 29: 1  clase  de  Ps /sql

Preguntas y Ejercicios

Page 30: 1  clase  de  Ps /sql

Gracias por su atención