EXES
EL MODELO RELACIONAL
EL LENGUAJE SQL
FUNCIONES SQL
FUNCIONES DE GRUPO
JOIN
SUBCONSULTAS
D.M.L.
D.D.L.
VISTAS
ENTORNO SQL PLUS
PL/SQL
GENERALIDADES PL/SQL
CURSORES
EXCEPCIONES
FUNCIONES
CRÉDITOS
LA COMPAÑÍA
 
Área de Base de datos
  Manual de Iniciación a Oracle
www.exes.es
Tel: 902 360 417
   Principal
 Exes   Contactar 
Tema 11 PL/SQL | Manual de Iniciación a Oracle

TEMA 11
PL/SQL

PL/SQL
¿Qué es PL/SQL?

  • Lenguaje de procesamiento procedimental.
  • Implementado por Oracle.
  • Dispone de estructuras de programación similares a las de la mayoría de los lenguajes de programación.
  • Objetivo: Interactuar con la B.D.

PL/SQL
Estructura Bloques Anónimos

  • [DECLARE]
    Define objetos PL/SQL que serán utilizados
    dentro del mismo bloque
  • BEGIN
    Sentencias Ejecutables
  • [EXCEPTION]
    Qué hacer si la acción ejecutada causa error
  • END;

PL/SQL
Estructura de Procedimiento

  • PROCEDURE nombre IS
    Sección Declarativa
  • BEGIN
    Sección Ejecutable
  • [EXCEPTION]
    Sección de Excepciones
  • END;

PL/SQL
Estructura de Función

  • FUNCTION nombre RETURN tipo_dato IS
    Sección Declarativa
  • BEGIN
    Sección Ejecutable
  • [EXCEPTION]
    Sección de Excepciones
  • END;

PL/SQL
Declaración de Variables

Declaración de variables
  • Reglas para nombres:
    • Dos variables pueden tener el mismo nombre, si están en bloques diferentes.
    • El nombre de la variable (identificador) no debería ser el mismo que el de una columna de una tabla utilizada en el bloque.

PL/SQL
Asignación e Inicialización de Variables

  • Asignación:
Asignación de variables
  • Inicialización:
Inicialización de variables
  • Por defecto, todas las variables se inicializan a NULL.

PL/SQL
Tipos de Variables

  • ESCALARES
  • BOOLEANAS
  • COMPUESTAS
  • LOB
  • DE ENLACE (BIND)

PL/SQL
Variables Escalares

  • VARCHAR2 (longitud_máxima)
  • NUMBER [(precisión, escala)]
  • DATE
  • CHAR [(longitud_máxima)]
  • LONG
  • LONG RAW
  • BOOLEAN
  • BINARY_INTEGER

PL/SQL
Atributo %TYPE

  • Permite declarar una variable basada en:
    • Otras variables previamente declaradas
    • La definición de una columna de la base de datos
  • Preceder de %TYPE por:
    • La tabla y la columna de la base de datos
    • El nombre de la variable definida con anterioridad
  • Ejemplo:
    v_ename
    emp.ename%TYPE;

PL/SQL
Variables BOOLEANAS

  • A una variable Boolean sólo se le pueden asignar los valores: TRUE, FALSE o NULL.
  • Estas variables están conectadas por los operadores lógicos AND, OR y NOT.

PL/SQL
Tipos de Datos Compuestos

  • Tipos:
    • REGISTROS PL/SQL
    • TABLAS PL/SQL
  • Contienen componentes internos

PL/SQL
Creación de un Registro

  • Sintaxis:
Creación de un registro
  • Donde declaración_campo significa:
Significado de declaración_campo

PL/SQL
Ejemplo de Registro PL/SQL

  • Declarar un registro para almacenar el número de empleado, nombre, trabajo y sueldo de un nuevo empleado:
Ejemplo de registro PL/SQL
  • Los componentes individuales del registro se referenciarán de forma cualificada; en este ejemplo:
Referencia a los componentes individuales del registro

PL/SQL
El Atributo %ROWTYPE

El atributo %ROWTYPE
  • Define un registro con la estructura de la tabla o vista de la B.D.
  • Los campos del registro toman sus nombres y tipos de datos de las columnas de la vista o tabla.
  • Ejemplo:
    DECLARE registro_empleado emp%ROWTYPE;

PL/SQL
Ventajas de %ROWTYPE

  • El número y los tipos de datos de las columnas de la tabla pueden no ser conocidos.
  • Simplifica la programación al no tener que definir explícitamente los campos y tipos del registro.
  • Es útil para realizar recuperaciones de filas con la sentencia SELECT:
Ventajas de %ROWTYPE

PL/SQL
Tablas PL/SQL

  • Cuentan con dos componentes:
    • TIPO DE DATOS DE CLAVE PRIMARIA BINARY_INTEGER
    • COLUMNA DE TIPO DE DATOS ESCALARES O DE REGISTRO.
  • Aumentan dinámicamente porque no tienen restricciones.
  • Se almacenan en memoria.

PL/SQL
Creación de Tablas PL/SQL

  • Sintaxis:
Sintaxis de creación de tablas PL/SQL
  • Ejemplo:
Ejemplo de creación de tabla

PL/SQL
Creación de Tablas PL/SQL

Creación de tablas PL/SQL

PL/SQL
Variables LOB

  • Permiten almacenar bloques de datos no estructurados, como pantallas de texto, imágenes gráficas, vídeo clips, y sonido, de hasta 4 Gb. de tamaño.
CLOB Character Large Object. Se utiliza para almacenar bloques grandes de datos de caracteres.
BLOB Binary Large Object. Se utiliza para almacenar objetos binarios grandes en la B.D.
BFILE Binary File. Se utiliza para almacenar objetos binarios grandes en archivos del sistema operativo, fuera de la B.D.
NCLOB National Language Character Large Object. Se utiliza para almacenar en la B.D. bloques grandes de datos NCHAR de un byte único o multi-bytes de ancho fijo.

PL/SQL
Variables de Enlace (Bind)

  • Son variables de SQL*Plus.
  • Las pueden referenciar bloques de PL/SQL mediante el uso del ampersand (&).
  • Ejemplo:
Ejemplo de variables de enlace (Bind)

S.Q.L.
Ejercicios

Ejercicios
  • Basados en las tablas emp y dept del usuario Scott de la database Oracle.
  • Crear el modelo de datos necesario para representar la actividad de un Videoclub.
  • Mostrar los nombres de los empleados del deptno 10, junto con los meses que llevan trabajando en la empresa.
  • Extraer el nombre de empleado y su fecha de alta en la empresa con formato Dia ( letras) , mes ( letras ), año, horas, minutos y segundos.
  • Mostrar el nº de empleado, job, nombre, así como la comisión. Si no tiene comisión, poner el texto ‘Sin Comisión’. La información debe de salir ordenada por nº de empleado en descendente.
  • Nº de empleado con el salario mas alto.
  • Nombre de deptno y Nombre de empleado que mas tarde entró en la empresa, para cada uno de los departamentos.
  • Incrementar un 20% el salario de todos los empleados que no son de Bostón.
  • Borrar los empleados cuyo nombre no comienza por A , que no son Analistas y que trabajan en New York.
  • Nombre de empleado, suma de salario y comisión para los empleados cuyo salario es superior a la media de su departamento.

 

··> Ver todos los cursos
Solicita Información 
Rellene sus datos y amplíe información sobre nuestros Programas Formativos
Nombre *
Apellidos *
Provincia
País
E-mail *
Tel. Móvil *
Tel. Fijo
Curso:
¿Por qué desea cursar este Programa?
Por favor, para validar su información introduzca el siguiente código (*):
 
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es