domingo, 25 de julio de 2010

Aprendiendo PL/SQL

PL/SQL (Procedural Language extension to SQL) - Introducción

Beneficios de PL/SQL

-PL/SQL permite la integración de procedimientos construidos con SQL.Permite especificar no sólo que hacer con un comando SQL , sino como hacerlo, dando un mejor control para su ejecución.

-Mejora la peformance, ya que a través de PLSQL podemos unir varias sentencias SQl en un solo programa, por lo tanto se envía un solo bloque a la BD en lugar de enviar una sentencia SQL a la vez.

-Modularized programa development: la unidad basica en un programa PL/SQL es el bloque.Los Bloques se pueden hallar secuencialmente o se pueden encontrar anidados.

Modularizar consiste en utilizar procedimientos, funciones, paquetes.

-Integración con herramientas, PL/SQL se encuentra integradoi con herramientas como Oracle Forms, Oracle Reports, otros.

-Portable: PLSQL corre en cualquiere servidor Oracle.

-Manejo de Excepciones, permite manejar eficientemente las excepeciones.

Estructura de un Bloque PL/SQL

Tiene 3 secciones :

1.DECLARATIVE
DECLARE (opcional)

-Permite declarar variables, crusores y excepciones

2.EXECUTABLE(inicia con begin y finaliza con end) esta sección necesariamente debe contener al menos una sentencia.

BEGIN(mandatorio)

- SQL y PL/SQL sentencias

EXCEPTION(opcional)

- Acciones a desarrollar cuando ocurren errores.

END;(mandatorio)

3.EXCEPTION HANDLE(Manejo de excepciones) esta sección se encuentra anidada dentro de la sección ejecutable e inicia con la palabra EXCEPTION

TIPOS DE BLOQUES

Existen 3 tipos de bloques que comprenden un Programa PL/SQL

1.Anónimos
No tienen nombre y son compilados cada vez que la aplicación es ejecutada ya que estos bloques nose almacenan en la bd.

2.Subprogramas(Procedimientos & Funciones)
Tienen un nombre especifico y son almacenados en la BD, por ello podemos invocarlos cuando lo necesitemos. Los tipos son : procedimientos y funciones, los primeros desarrollan una acción y las funciones calculan y DEBEN retornan un valor.


Ejemplos de un bloque anónimo

1. Habilitar la salida de mensajes en SQL* PLUS
set server output on

2. Utilizaremos el paquete de oracle para mostrar los mensajes:
DBMS_OUTPUT.PUT_LINE();

3. detallamos un bloque anónimo :

Finalizamos el bloque con el "/" para proceder a su ejecución.


No hay comentarios:

Publicar un comentario