Professional Documents
Culture Documents
Agenda
Bloques PL / SQL Tipos de datos en PL/SQL Operadores en PL/SQL Estructuras de control Control de flujo IF Control de flujo CASE Control de flujo GOTO
Espacio para reproducir el ttulo de la presentacin que va en la portada 2
Bloques PL/SQL
Un programa de PL/SQL est compuesto por bloques. Un programa est compuesto como mnimo de un bloque. Los bloques de PL/SQL pueden ser de los siguientes tipos: Bloques annimos Subprogramas
Bloques PL/SQL
Los bloques PL/SQL presentan una estructura especfica compuesta de tres partes bien diferenciadas: 1. La seccin declarativa en donde se declaran todas las constantes y variables que se van a utilizar en la ejecucin del bloque. Opcional 2. La seccin de ejecucin que incluye las instrucciones a ejecutar en el bloque PL/SQL (BEGIN END). Obligatoria 3. La seccin de excepciones en donde se definen los manejadores de errores que soportar el bloque PL/SQL. Opcional
Bloques PL/SQL
1. La seccin de Excepciones En PL/SQL una advertencia o condicin de error es llamada una excepcin. Las excepciones se controlan dentro de su propio bloque. La estructura de bloque de una excepcin se muestra a continuacin.
Bloques PL/SQL
1. La seccin de Excepciones Cuando ocurre un error, se ejecuta la porcin del programa marcada por el bloque EXCEPTION, transfirindose el control a ese bloque de sentencias.
Bloques PL/SQL
1. Excepciones definidas por el usuario PL/SQL permite al usuario definir sus propias excepciones, las que debern ser declaradas y lanzadas explcitamente utilizando la sentencia RAISE. Las excepciones deben ser declaradas en el segmento DECLARE de un bloque, subprograma o paquete. Se declara una excepcin como cualquier otra variable, asignndole el tipo EXCEPTION. Las mismas reglas de alcance aplican tanto sobre variables como sobre las excepciones.
Bloques PL/SQL
1. Excepciones definidas por el usuario
Bloques PL/SQL
1. Sentencia RAISE La sentencia RAISE permite lanzar una excepcin en forma explcita. Es posible utilizar esta sentencia en cualquier lugar que se encuentre dentro del alcance de la excepcin.
Bloques PL/SQL
1. Uso del SQLCODE y SQLERRM Al manejar una excepcin es posible usar las funciones predefinidas SQLCode y SQLERRM para aclarar al usuario la situacin de error acontecida. SQLcode devuelve el nmero del error de Oracle y un 0 (cero) en caso de exito al ejecutarse una sentencia SQL. Por otra parte, SQLERRM devuelve el correspondiente mensaje de error.
Bloques PL/SQL
1. Uso del SQLCODE y SQLERRM Estas funciones son muy tiles cuando se utilizan en el bloque de excepciones, para aclarar el significado de la excepcin OTHERS. Estas funciones no pueden ser utilizadas directamente en una sentencia SQL, pero s se puede asignar su valor a alguna variable de programa y luego usar esta ltima en alguna sentencia.
Bloques PL/SQL
1. Uso del SQLCODE y SQLERRM
Bloques PL/SQL
1. Uso del SQLCODE y SQLERRM Tambin es posible entregarle a la funcin SQLERRM un nmero negativo que represente un error de Oracle y sta devolver el mensaje asociado.
Bloques PL/SQL
1. La seccin declarativa En esta parte se declaran las variables que va a necesitar nuestro programa. Una variable se declara asignndole un nombre o "identificador" seguido del tipo de valor que puede contener. Tambin se declaran cursores, de gran utilidad para la consulta de datos, y excepciones definidas por el usuario. Tambin podemos especificar si se trata de una constante, si puede contener valor nulo y asignar un valor inicial.
Bloques PL/SQL
1. La seccin declarativa
Bloques PL/SQL
1. Asignacin e Inicializacin de Variable
En la definicin de las columnas de las tablas podemos usar los siguientes tipos de datos:
Sinnimos
Sinnimos
CHARACTER, NCHAR
TIMESTAMP (f)
El timestamp es un fecha que contiene un granularidad superior al tipo DATE, eso significa que contiene fracciones de segundo. Con f definimos el numero de dgitos que queremos en la fraccin de segundo. As, f puedes valer desde 0 hasta 9, el valor por defecto es 6.
El atributo %TYPE permite conocer el tipo de una variable, constante o campo de la base de datos. El atributo %ROWTYPE permite obtener los tipos de todos los campos de una tabla de la base de datos, de una vista o de un cursor.
Operadores en PL/SQL
La siguiente tabla ilustra los operadores de PL/SQL.
Estructuras de control
Estructura de control de flujo IF Estructura de control de flujo CASE Estructura repetitiva LOOP Estructura repetitiva WHILE Estructura repetitiva FOR
Ejemplo
Ejemplo
Bibliografa
http://felinfo.blogspot.com/2009/07/imprimir-con-plsqldbmsoutputputline.html http://www.devjoker.com/gru/Tutorial-PLSQL/PLSQ/TutorialPLSQL.aspx http://ora.u440.com/ddl/datatypes.html http://www.devjoker.com/contenidos/catss/60/Tipos-de-datos-enPLSQL.aspx http://www.mundoracle.com/pl-sql.html?Pg=sql_plsql_11.htm