Introduccion al pl-sql

Solo disponible en BuenasTareas
  • Páginas : 11 (2572 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de enero de 2011
Leer documento completo
Vista previa del texto
INTRODUCCIÓN
• Oracle incorpora un gestor PL/SQL en el servidor de la BD y en las principales herramientas (Forms, Reports, Graphics,…) • Este lenguaje está basado en el lenguaje ADA e incorpora todas las características de una lenguaje de tercera generación: – Variables – Estructura modular (procedimientos y funciones) – Estructuras de control (bifurcaciones, bucles y demás) – Control deexcepciones – Etc.. • Los programas creados con PL/SQL se pueden almacenar en la base de datos como cualquier otro objeto de ésta, facilitando el acceso a todos los usuarios autorizados a ellos. • Los programas se ejecutan en el servidor • Es también imprescindible para construir disparadores o triggers de bases de datos (bloques PL/SQL asociados a una tabla que se ejecutan o disparan cuando se producenciertos eventos sobre la tabla).
Tema 10_ Introducción al PL-SQL 1

Características
• PL/SQL es un lenguaje procedimental. • Está incluido en el servidor y en algunas herramientas de cliente. • Soporta todos los comandos de consulta y manipulación de datos. • Aporta al lenguaje SQL estructuras de control y otros elementos propios de los lenguajes de programación de tercera generación. • Suunidad de trabajo es el bloque, constituido por un conjunto de declaraciones, instrucciones y mecanismos de gestión de errores y excepciones.
Tema 10_ Introducción al PL-SQL 2

Bloques PL/SQL
• Con PL/SQL se pueden construir distintos tipos de programas: procedimientos, funciones,.. • La estructura básica de este lenguaje es el bloque. • Un bloque tiene 3 zonas:
– Una zona de declaraciones:• donde se declaran objetos (variables, constantes, ..) • Es opcional • Suele ir precedida por la cláusula DECLARE (o IS/AS en los procedimientos y funciones)

– Un conjunto de instrucciones:
• Precedido por la cláusula BEGIN

– Una zona de tratamientos de excepciones:
• Precedido por la cláusula EXCEPTION. • Esta zona también es opcional.
Tema 10_ Introducción al PL-SQL 3

Bloques PL/SQL• El formato genérico de un bloque: [DECLARE ] BEGIN [EXCEPTION ] END; En este ejemplo se borra el departamento número 20, pero antes se crea un departamento provisional, donde se guardan los empleados del departamento 20. También informa del número de empleados afectados. • Ejemplo: DECLARE v_num_empleados NUMBER(2); BEGIN INSERT INTO DEPART VALUES (99,’PROVISIONAL’,NULL); UPDATE EMPLE SETDEPT_NO=99 WHERE DEPT_NO=20; v_num_empleados := SQL%ROWCOUNT; DELETE FROM depart WHERE DEPT_NO=20; DBMS_OUTPUT.PUT_LINE(v_num_empleados || ‘ Empleados ubicados en provisional’); EXCEPTION WHEN OTHERS THEN ROLLBACK; RAISE_APPLICATION_ERROR(-20000, ‘Error en la aplicación’); END;

Tema 10_ Introducción al PL-SQL

4

Definición de datos compatibles con SQL
• PL/SQL dispone de tipos de datoscompatibles con los tipos utilizados para las columnas de las tablas: NUMBER, VARCHAR2, DATE.. • Además dispone de otros tipos propios como BOOLEAN. • PL/SQL permite declarar una variable del mismo tipo que otra variable o que una columna de la tabla mediante el atributo %TYPE
Ej: NombreAct Empleados.Nombre%TYPE

• También se puede declarar una variable para guardar una fila completa de una tablamediante el atributo %ROWTYPE
Ej: Mifila Empleados%ROWTYPE
• Las declaraciones de los datos deben realizarse en la sección de declaraciones: DECLARE ….. BEGIN

Tema 10_ Introducción al PL-SQL

5

Estructuras de control
• Las estructuras de control en PL/SQL son las habituales en los lenguajes de programación estructurada:
Estructuras de control alternativas Alternativas simple Alternativadoble IF THEN Instrucciones; …. END IF; IF THEN Instrucciones; …; ELSE Instrucciones; ..; END IF; Alternativa múltiple IF THEN instrucciones; … ELSIF THEN instrucciones; ..; ELSIF THEN instrucciones; ..; ELSE instrucciones; ..; END IF; 6

Tema 10_ Introducción al PL-SQL

Estructuras de control
Estructuras de control repetitivas Mientras WHILE LOOP instrucciones; …. END LOOP; Para...
tracking img