Introducción a PL/SQL 21/11/2014
IISSI 1
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
Grupo de Ingeniería del Software y Bases de Datos
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla
Noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Objetivos de este tema
– Conocer el lenguaje procedimental de Oracle
PL/SQL.
– Conocer las estrategias para controlar
adecuadamente las excepciones.
– Ser capaz de utilizar las estructuras de PL/SQL
para implementar parte de la funcionalidad de un
sistema informático.
Introducción a la Ingeniería del Software y los Sistemas de Información 1noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 2
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• ¿Qué es PL/SQL?
– PL/SQL: Procedural Language/Structured Query
Language.
– Es un lenguaje propietario de Oracle que combina
• La manipulación de datos mediante sentencias DML
(INSERT, UPDATE, DELETE) y sentencias SELECT de
SQL.
• El procesamiento mediante sentencias imperativas
PL/SQL.
Introducción a la Ingeniería del Software y los Sistemas de Información 2noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Bloque PL/SQL
– Bloque lógico estructurado en tres partes.
• Las secciones DECLARE y EXCEPTION son
opcionales.
Introducción a la Ingeniería del Software y los Sistemas de Información 3noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 3
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Ejemplo de bloque anónimo PL/SQL
– Muestra por pantalla el mensaje Hello world!.
4Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Elementos básicos de PL/SQL
– Tipos de datos.
– Definición de variables.
– Estructuras de control.
• Condicional.
• Iterativo.
– Gestión de excepciones.
5Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 4
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Tipos de datos
– Principales (tipos atómicos)
• BINARY- INTEGER
– Enteros con signo.
• NUMBER [(precisión, escala)]
– Reales.
• CHAR[(longitud fija)]
– Cadenas de caracteres de longitud fija.
• VARCHAR2(longitud máxima)
– Cadenas de caracteres de longitud variable.
• LONG
– Cadenas de caracteres de longitud variable.
– Otros tipos (multivaluados)
• Collections (Arrays, Varrays, Tables), Records, etc.
6Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Declaración de variables y constantes
Nombre_variable [CONSTANT] tipo de dato
[NOT NULL][:=DEFAULT expresión]
– CONSTANT : Declara una constante. Su valor no
puede cambiar. Debe ser inicializada.
7Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 5
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Declaración de variables
– Propiedad %TYPE
• Declara una variable basada en:
– El tipo de dato de una columna de una tabla.
– El tipo de otra variable declarada previamente.
• Sintaxis:
– variable tabla.columna%TYPE;
– variable variable_PL/SQL%TYPE;
8Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Declaración de variables
– Propiedad %ROWTYPE
• Declara una variable registro:
– Representa una fila de una tabla o vista.
– No es necesario conocer el número y tipo de datos de
la tabla subyacente y evita hacer modificaciones
cuando la estructura de la tabla cambie.
• Sintaxis:
– variable tabla%ROWTYPE;
9Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 6
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control condicional
– IF THEN
– IF THEN ELSE
– IF THEN ELSIF
10Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control condicional
– Ejemplo:
11Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 7
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control iterativas
– Repite un número de veces un conjunto de
sentencias.
– Estructura repetitiva básica LOOP:
12Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control iterativas
– Ejemplo LOOP:
13Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 8
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control iterativas
– Esquema WHILE:
– Ejemplo:
14Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras de control iterativas
– Bucle FOR numérico con indicación de rango:
– Ejemplo:
15Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 9
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Una excepción es un error que ocurre durante la
ejecución del código.
16Introducción a la Ingeniería del Software y los Sistemas de Información
Ejecución Ejecución Ejecución Ejecución del códigodel códigodel códigodel código
Si ocurre Si ocurre Si ocurre Si ocurre un error un error un error un error se dispara se dispara se dispara se dispara una una una una excepciónexcepciónexcepciónexcepción
¿se¿se¿se¿secontrola controla controla controla el errorel errorel errorel error????
Se ejecutan las Se ejecutan las Se ejecutan las Se ejecutan las sentenciassentenciassentenciassentencias de gestión de gestión de gestión de gestión de la excepciónde la excepciónde la excepciónde la excepción
Se detiene el códigoSe detiene el códigoSe detiene el códigoSe detiene el código
Sí
No
noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Tipos de excepciones en PL/SQL
• Predefinidas: son las más comunes y solo hay que
tratarlas.
• Definidas por el usuario: hay que declararlas,
especificar en qué consisten y tratarlas.
17Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 10
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Excepciones predefinidas PL/SQL
• Permiten controlar las condiciones de error más
habituales.
• No es necesario declararlas, se utilizan cuando son
lanzadas por algún error determinado.
• Se generan implícitamente cuando se produce su
error asociado.
18Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Excepciones predefinidas PL/SQL
• Las más comunes son:
19Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 11
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Excepciones definidas por el usuario
• Se declaran en la sección declarativa de un bloque
PL/SQL y tienen asociado el tipo EXCEPTION.
• Se generan explícitamente mediante la instrucción
RAISE.
20Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
• Ejemplo de excepciones definida por el usuario
21Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 12
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Gestión de excepciones
– Claúsula when
• Se ejecuta para todas las excepciones que se
generen y no sean tratadas en ninguna otra claúsula
When.
– SQLCODE
• Función que devuelve el código de error actual.
– SQLERRM
• Función que devuelve el texto de mensaje del error
actual.
– RAISE_APPLICATION_ERROR(numero, mensaje)
• Permite crear mensajes más descriptivos asociados
al error que se produce.
23Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Estructuras PL/SQL*
– Combinan sentencias PL/SQL y sentencias SQL de
manera transparente.
• Procedimientos y funciones
• Disparadores (Triggers)
• Cursores
• Secuencias
• Paquetes (Packages)
24Introducción a la Ingeniería del Software y los Sistemas de Información
*Se verán con más detalle en las clases de laboratorio.
noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 13
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Procedimientos y funciones
• Bloques PL/SQL con nombre y lista de parámetros.
• Aumentan la modularidad y la reutilización de
código.
• Permiten almacenar en el SGBD Oracle parte de la
funcionalidad del sistema.
25Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Procedimientos y funciones
• La diferencia entre función y procedimiento es que
las funciones devuelven un valor. Esto permite que
se puedan invocar dentro de una expresión.
26Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 14
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Triggers
– Objetos procedimentales asociados a una tabla.
– Permiten, entre otros usos, implementar reglas de
negocio que, por su complejidad, no pueden ser
definidas mediante CHECK.
– La definición de un trigger sigue la regla ECA:
• EEEEvento:
– Comando DML de SQL que dispara el Trigger.
» Ej.: “Update”.
• CCCCondición::::
– Restricción que tiene que verificar las filas de la tabla.
» Ej.: “No se puede aumentar el salario más del 20%”.
• AAAAcción:
– Tarea específica que realiza el Trigger.
» Ej.: “Rechazar la modificación”.
27Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Triggers
28Introducción a la Ingeniería del Software y los Sistemas de Informaciónnoviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 15
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
Introducción a la Ingeniería del Software y los Sistemas de Información
• Cursores
– Permiten almacenar en una variable el resultado
de una consulta SQL.
– Se usan para procesar fila a fila los registros de
consultas que devuelven más de una fila.
– Se declara como una variable más (en la sección
DECLARE) en bloques PL/SQL, procedimientos,
funciones, triggers, etc.
29noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Cursores
Introducción a la Ingeniería del Software y los Sistemas de Información 30noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 16
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Secuencias
– Facilitan la generación automática de series
numéricas.
– Los usos más frecuentes de las secuencias, son:
• La generación automática de claves primarias.
• Coordinar las claves de múltiples filas o tablas.
Introducción a la Ingeniería del Software y a los Sistemas de Información 31noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Secuencias
sec_alu.currval.currval.currval.currval número actual de una secuencia.
sec_alu.nextval.nextval.nextval.nextval siguiente valor de una secuencia.
Introducción a la Ingeniería del Software y a los Sistemas de Información 32noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 17
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Secuencias
– Ej. “Generar la clave primaria a la tabla alumnos”.
– El trigger se dispara cada vez que se produce el
evento INSERT en la tabla alumnos.
– Mediante la secuencia se genera un nuevo valor
sec_alu.nextval y se guarda en codigo_alu que es
la PK de la tabla alumnos.
Introducción a la Ingeniería del Software y a los Sistemas de Información 33noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Packages
– Permite encapsular o agrupar procedimientos,
funciones, cursores, variables, etc. que están
relacionados lógicamente y almacenarlos como
una unidad.
– Se especifica que funciones, variables, etc. son
públicas y cuáles privadas.
Introducción a la Ingeniería del Software y a los Sistemas de Información 34noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 18
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Packages
– Se crea en dos partes separadas:
• EspecificaciónEspecificaciónEspecificaciónEspecificación. Se declaran los constructores
públicos del package. Es la interface con las
aplicaciones de usuarios. Sólo incluye la parte de la
especificación; es decir nombre del procedimiento,
nombre y tipo de los argumentos y, solo en las
funciones, el nombre y tipo de dato del valor que
devuelven.
• CuerpoCuerpoCuerpoCuerpo. Se definen todos los procedimientos y
funciones (públicos y privados) y se declaran las
variables, funciones, etc. privadas.
Introducción a la Ingeniería del Software y a los Sistemas de Información 35noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Packages
– Especificación
Introducción a la Ingeniería del Software y a los Sistemas de Información 36noviembre 2014
Introducción a PL/SQL 21/11/2014
IISSI 19
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Packages
– Body
Introducción a la Ingeniería del Software y a los Sistemas de Información 37noviembre 2014
1. ¿Qué es PL/SQL?
2. Bloque PL/SQL
3. Elementos básicos
4. Tipos de datos
5. Variables
6. Estructuras de control
7. Excepciones
8. Estructuras PL/SQL
9. Procedimientos y funciones
10.Triggers
11.Cursores
12.Secuencias
13.Packages
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introducción a PL/SQL
• Resumen estructuras PL/SQL*
– ProcedimientosProcedimientosProcedimientosProcedimientos: requisitos funcionales: generación
de informes…
– FuncionesFuncionesFuncionesFunciones: operaciones, cálculos.
– DisparadoresDisparadoresDisparadoresDisparadores (Triggers): reglas de negocio con
lógica demasiado compleja para implementarla
con check.
– CursoresCursoresCursoresCursores: Para mostrar las filas de una select en
un informe o en pantalla.
– SecuenciasSecuenciasSecuenciasSecuencias: integridad de la entidad y referencial
del modelo relacional (claves primarias y ajenas).
– Paquetes Paquetes Paquetes Paquetes (Packages): Modularidad, en IISSI se
utilizan para las organizar las pruebas.
38Introducción a la Ingeniería del Software y los Sistemas de Información
*Se verán con más detalle en las clases de laboratorio.
noviembre 2014
Top Related