1 / 33

Presentación Asignatura POF030

Presentación Asignatura POF030. Semana 1. Contenido. En forma general, los conceptos que se estudiarán en la asignatura son: Procedures Functions Packages Triggers Cursors Exceptions Others. Evaluaciones. Las evaluaciones se compondrán de la siguiente forma: Pruebas (60%)

Download Presentation

Presentación Asignatura POF030

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presentación Asignatura POF030 Semana 1

  2. Contenido • En forma general, los conceptos que se estudiarán en la asignatura son: • Procedures • Functions • Packages • Triggers • Cursors • Exceptions • Others

  3. Evaluaciones • Las evaluaciones se compondrán de la siguiente forma: • Pruebas (60%) • Trabajo 1: 20% • Prueba 2: 20% • Prueba 3: 20% • Controles, tareas: (20%) • Controles • Tareas y/o trabajos • Proyecto Semestral: (20%) • 1 proyecto semestral: 20%

  4. Proyecto Semestral • Se debe desarrollar un sistema de mediana dificultad que solucione una problemática propuesta por los grupos de trabajo • Se mostrarán avances durante el semestre • El proyecto debe estar coordinado con los desarrollos de las asignaturas de .NET y Java

  5. Bloques PL/SQLAprendizajes esperados • Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema • Discernir cuando usar un procedimientos almacenados, trigger de base de datos, cursor y función para implementar una solución a la lógica de negocio recogida en la captura de requerimientos de un sistema

  6. Conceptos Claves • El lenguaje PL/SQL es el ofrecido por Oracle para programar en sus bases de datos • Es una ampliación de SQL, con elementos típicos de los lenguajes de programación como los ciclos, control de flujos, uso de variables, etc. • Con PL/SQL se puede programar también para otras herramientas Oracle: • Oracle Forms • Oracle Reports • Oracle Graphics • Oracle Application Server

  7. Conceptos Claves • El bloque es la unidad mínima de programación en PL/SQL

  8. Bloques • Existen 3 tipos de bloques • Bloques Anónimos: • No tienen un nombre identificatorio • No se almacenan en la base de datos • Su existencia es mientras dura su ejecución • Bloques Anonimados: • Tienen un nombre identificatorio • No se almacenan en la base de datos • Su existencia es mientras dura su ejecución

  9. Bloques • Subprogramas: • Tienen un nombre identificatorio • Se almacenan en la base de datos • Su existencia es mientras esté registrada en la base de datos

  10. Partes de un Bloque • Un bloque puede estar compuesto por tres partes: • Sección Declarativa: En esta sección se declaran todas las variables, constantes o estructuras necesarias que utilizará el programa • Sección de Ejecución: En esta sección se incorporan todos los códigos necesarios para la ejecución del programa • Sección de Manejo de Excepciones: En esta sección se incorporan todos los códigos necesarios para controlar las excepciones planificadas o no que se produzcan en la ejecución del código

  11. Partes de un Bloque Anónimo • Sección Declarativa: Esta sección se reconoce porque comienza con el comando DECLARE • Sección de Ejecución: Esta sección se reconoce porque comienza con el comando BEGIN • Sección de Manejo de Excepciones: Esta sección se reconoce porque comienza con el comando EXCEPTION • Todo bloque termina donde aparece el comando END • La sección de ejecución es la única obligatoria, las demás son opcionales según las necesidades que se tengan

  12. Ejemplo de un Bloque Anónimo Sección Declarativa Sección de Ejecución Sección de Manejo de Excepciones

  13. Generalidades Forma de agregar comentarios al código Cada sentencia debe terminar con punto y coma (;)

  14. Bloques Anidados • Un bloque puede estar anidado dentro de otro bloque Bloque 1 Bloque 1 Bloque 2 Bloque 2 Forma correcta Forma incorrecta

  15. Ejemplo de Bloques Anidados Bloque 1 Bloque 2

  16. Variables en Bloques PL/SQLAprendizajes esperados • Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema

  17. Conceptos Claves • Las variables y constantes se declaran en la sección declarativa del bloque • La asignación de valores a las variables puede ser realizada en cualquiera de las partes del bloque

  18. Sintáxis • En general, la sintaxis para declarar un variable y/o constante es la siguiente: <Nombre_variable> [constant] <tipo_dato> [notnull][:=valor]; • Donde: <Nombre_variable>: Obligatorio. Es el nombre que se dará a la variable o constante [constant]: Opcional. Indica que lo declarado es una constante. Su valor no puede ser modificado en tiempo de ejecución <tipo_dato>: Obligatorio. Indica el tipo de dato que tendrá la variable o constante [notnull]: Opcional. Indica que la variable o constante no puede tomar un valor nulo [:=valor]: Opcional. Asigna un valor a la variable o constante

  19. Algunas consideraciones • Una variable o constante no inicializada, asumirá el valor null • Las variables o constantes «notnull», no pueden asumir el valor nulo, por lo cual deben ser inicializadas • La inicialización puede incluir cualquier expresión de PL/SQL. Dicha expresión debe retornar el mismo tipo de dato de la variable o constante

  20. Ejemplo de Declaraciones

  21. Declaraciones Implícitas • Se pueden declarar variables o constantes de forma que «asuman» el tipo de datos de otra variable o constantes u otra estructura de la base de datos • %Type: Se utiliza para que la variable declarada de tipo escalar, asuma el tipo de datos de otra variable o constante • %Rowtype: Se utiliza para definir una variable de tipo fila

  22. Ejemplo de declaraciones implícitas

  23. Ejemplo de usos

  24. Ejemplo de usos

  25. Ejemplo de usos • Dada la tabla «auto», con la estructura que se muestra a continuación, se asignarán valores a la variable

  26. Ejemplo de usos

  27. Asignando valores con sentencia Select • Otra forma de asignar valores a las variables es utilizando la sentencia «Select…into» • Su estructura es la siguiente: Selectlista_valoresintolista_variables Fromtablas_origen • Donde: • Lista_valores: Lista de campos , otras variables o valores que serán almacenados en la lista de campos. Se separa por comas (,) en caso de existir mas de un valor • Lista_variables: Lista de variables que recibirán los valores extraídos. Se separa por comas (,) en caso de existir mas de una variable • Tablas_origen: Tablas de donde proviene la información

  28. Ejemplo de asignación mediante Select .. Into

  29. Ejemplo de asignación mediante Select .. Into

  30. Consideraciones respecto a la asignación mediante Select .. Into • Para el select .. intose espera siempre que devuelva sólo un valor o una fila (según sea el caso de variable escalar o variable de tipo fila) • Si la sentencia no devuelve valor alguno o devuelve más de uno, la ejecución del código arrojará error • No Data Found: No encuentra datos • TooManyRows: Muchas filas encontradas

  31. Alcance de las variables • Las variables tienen un alcance local, es decir, son visibles sólo dentro del bloque al cual pertenecen • Para los bloques anidados, las variables declaradas en el bloque contenedor (bloque que contiene a otro bloque) son visibles para el bloque contenido • Las variables declaradas en el bloque contenido (bloque que se declara dentro de otro bloque) son visibles sólo en forma local a su bloque. El bloque contenedor no tiene acceso a dicha variable

  32. Ejemplo de Alcance de Variables (Uso Correcto)

  33. Ejemplo de Alcance de Variables (Uso Incorrecto) Descripción del error existente

More Related