ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Base de datos PL/SQL


Enviado por   •  10 de Abril de 2016  •  Resúmenes  •  11.524 Palabras (47 Páginas)  •  289 Visitas

Página 1 de 47

Escribir programas de acceso  a basa de datos con PL/SQL

SQL no es nada mas que un lenguaje de acceso a datos que permite a la aplicaciones introducir y obtener datos de una base de dato de Oracle, en otra palabra, SQL por si mismo no es un autentico lenguaje de programación que puede usar para desarrollar aplicaciones potentes de bases de datos. Para crear una aplicación de base de datos, debe usar un lenguaje de procedimiento que englobe SQL para interactuar con una base de datos de Oracle. Este capitulo explica el lenguaje de procedimiento PL/SQL particular de Oracle, que puede usar para programar un servidor de base de datos Oracle y aplicaciones acosadas. Trataremos  los siguientes temas:

  • Fundamentos de la codificación PL/SQL.
  • Bloques PL/SQL anónimos.
  • Paquetes, funciones y procedimientos almacenados
  • Disparadores de base de datos.[pic 1]

Requisitos esenciales de este capitulo

  Para practicar los ejercicios  de este capitulo, deberá iniciar SQL*plus y ejecutar la siguiente secuencia  de comandos:

   ubicación\StarterKit\Sql\Chp05.sql

donde ubicación es el directorio de archivo en el que  expandió el archivo de soporte  que acompaña a este libro. Por ejemplo, después de iniciar  como SQL*Plus y como SCOTT, puede  ejecutar la  secuencia  de comandos   de  SQL de este capitulo usando los comando SQL*Plus @, como en el siguiente ejemplo (suponiendo que el archivo (suponiendo que el archivo chapO5.sql está en C:\temp8iStarterKit\Sql).

SQL> @C: \ temp\ SiStarterKit\ Sql\ chapO5 .sql;

Una vez finalizada con éxito la secuencia de comandos, abandone la sesión actual de SQL*Plus abierta y úselo para realizar los ejercicios de este capítulo en el orden en que aparecen.

¿Qué es PL/SQL?

PL/SQL es un lenguaje de procedimientos que se incluye en la mayoría de los productos de Oracle. Con PL/SQL, se pueden crear programas para procesar información combinando las sentencias d procedimientos de PL/SQL que controlan el flujo del programa y sentencias SQL que acceden a una base de datos de Oracle. Por ejemplo, a continuación se presenta un programa PL/SQL muy simple que actualiza el UNITPRICE de una pieza, dado el número de ID de la pieza.

CREATE OP. REPLACE PROCEDURE updatePartPrice

 (partId IN INTEGER,

newPrice IN NUMBER)

IS

invalidpart EXCEPTION;

BEGIN

— ESTA ES UN SENTENCIA DE ACTUALIZACIÓN AN PARA ACTUALIZAR EL REGISTRO DE UNA BASE DE DATOS

UPDATE parts

SET unitprice = newPrice

WHERE id = partId;

  • AQUÍ HAY UN ERROR-COMPROBANDO SENTENCIA

 IF SQL%NOTFOUND THEN

RAISE invalidPart;

END IF;

EXCEPTION

  • AQUÍ HAY UN ERROR-MANEJAR LA RUTINA

WHEN invalidPart THEN

raise_application_error (-20000, ‘Invalid Part ID’);

END updatePartPrice;

invalidpart EXCEPTION;

Este programa de ejemplo es un procedimiento almacenado como una unidad de programa en una base de datos. Usando PL/SQL, puede crear muchos tipos de unidades de programas de acceso a bases de datos, incluyendo bloques PL/SQL anónimos, procedimientos, funciones y paquetes. Todas las secciones de este capítulo incluyen ejemplos de programas PL/SQL. Pero antes de aprender todo sobre los programas auténticos PL/SQL, es necesario comprender las construcciones de programación básicas y los comandos que ofrece el lenguaje PL/SQL.[pic 2]

Bloques PL/SQL

Un programa PL/SQL se estructura usando distintos bloques que agrupan declaraciones y sentencias relacionadas. Cada bloque de un programa PL/SQL tiene una tarea específica y resuelve un problema particular. En consecuencia, puede organizar un programa PL/SQL de forma que éste sea fácil de comprender.

Un bloque PL/SQL puede incluir tres secciones, como muestra el siguiente pseudocódigo: declaraciones de programa el cuerpo del programa principal y controladores de excepciones.

DECLARE

— program declaration is optional

BEGIN

— program body is required

EXCEPTION

— exception handlers are optional

END;

La mayoría de los ejemplos de este capítulo exigen que use SQL*Plus e interactivamente escriba y ejecute bloques PL/SQL anónimos mientras aprende los fundamentos de PL/SQL. Un bloque PL/SQL anónimo no tiene nombre y no se almacena de forma permanente como un archivo o en una base de datos de Oracle. Una aplicación, como SQL*Plus, simplemente envía el bloque PL/SQL al servidor de bases de datos para que lo procese en tiempo de ejecución. Una vez que Oracle ejecuta un bloque PL/SQL anónimo, el bloque deja de existir.

Declaraciones del programa

La sección de declaraciones de un bloque PL/SQL es el lugar donde el bloque declara todas las variables, constantes, excepciones, etc., que son accesibles para todas las partes del mismo bloque. La sección de declaraciones de un bloque PL/SQL comienza con la palabra clave DECLARE y termina implícitamente con la palabra clave BEGIN del cuerpo del programa. Si el programa no necesita realizar ninguna declaración, no es necesaria la sección de declaraciones.

Cuerpo del programa

El cuerpo del programa principal de un bloque PL/SQL contiene las sentencias ejecutables para el bloque. En otras palabras, el cuerpo donde el bloque PL/SQL define su funcionalidad. El cuerpo de un bloque PL/SQL comienza con la palabra clave BEGIN y termina con la palabra clave EXCEPTION que inicia la sesión de manejo de excepciones del bloque; si el bloque no incluye ningún controlador de excepciones, el cuerpo del programa termina con la palabra clave END que finaliza el bloque por completo.

Manipuladores de excepciones

La sección de control de excepciones opcional de un bloque PL/SQL contiene los controladores de excepciones (rutinas de control de errores) para el bloque. Cuando una sentencia del cuerpo del bloque genera una excepción (detecta un error), éste transfiere el control del programa al controlador de excepciones correspondiente en la sección de excepción para procesarla completamente. La sección de control de excepciones de un bloque PL/SQL comienza con la palabra clave EXCEPTION y termina con la palabra clave END. Si un programa no necesita definir ningún controlador de excepciones, la sección de control de excepciones del bloque no es necesaria.

...

Descargar como (para miembros actualizados)  txt (78 Kb)   pdf (623 Kb)   docx (529 Kb)  
Leer 46 páginas más »
Disponible sólo en Clubensayos.com