1 clase de Ps /sql
-
Upload
jose-luis-arce-c -
Category
Education
-
view
82 -
download
5
Transcript of 1 clase de Ps /sql
![Page 1: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/1.jpg)
Instructor: Ing. Hermes León
CURSO DE PL/SQL
![Page 2: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/4.jpg)
Temas HoyIntroducción del Lenguaje PL/SQLEstructuras de ControlCursores en PL/SQL
IntroducciónImplícitosExplícitosEjercicios
![Page 5: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/5.jpg)
Introducción
![Page 6: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/6.jpg)
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
![Page 7: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/8.jpg)
Estructura Bloque PL/SQL
![Page 9: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/9.jpg)
ESTRUCTURAS DE
CONTROL
![Page 10: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/16.jpg)
CURSORES
![Page 17: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/17.jpg)
Ciclo de Vida de un cursor
![Page 18: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/21.jpg)
Cursores Explícitos
![Page 22: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/22.jpg)
Cursores Explícitos
![Page 23: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/23.jpg)
Cursores Explícitos
![Page 24: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/24.jpg)
Cursores Explícitos
![Page 25: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/26.jpg)
Manejo del Cursor• Por medio de ciclo LOOP podemos iterar
a través del cursor.
![Page 27: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/27.jpg)
Manejo del Cursor
![Page 28: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/28.jpg)
Manejo del Cursor
![Page 29: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/29.jpg)
Preguntas y Ejercicios
![Page 30: 1 clase de Ps /sql](https://reader035.fdocuments.ec/reader035/viewer/2022062220/55baec3cbb61ebf3308b47d3/html5/thumbnails/30.jpg)
Gracias por su atención