Archivo diario: 18 Octubre, 2012


Introducción a PL/SQL

Consultar los siguientes enlaces para ver las entradas completas: ESTRUCTURA BASICA PL/SQL. TIPOS Y VARIABLES. PROGRAMAS SIMPLES EN PL/SQL. CONTROL DEL FLUJO. CURSORES. PROCEDIMIENTOS. ERRORES E IMPRESIÓN DE VARIABLES. CONSTANTES Y TRIGGERS [ENG]. Fuentes: http://infolab.stanford.edu/~ullman/fcdb/oracle/or-plsql.html http://felinfo.blogspot.com.es/2009/07/imprimir-con-plsql-dbmsoutputputline.html http://thinkoracle.blogspot.com.es/2005/10/dbmsoutputputline.html


Errores e impresión de variables en PL/SQL

ERRORES En PL/SQL no siempre se nos indica los errores al compilar. EN lugar de eso, nos muestra el mensaje “procedure created with compilation errors”. Si no vemos el fallo inmediatamente, podemos ejecutar el comando:

O alternativamente, para ver el error más reciente en compilación podemos escribir:

Apuntar además que NO siempre el mensaje de error apunta a donde realmente éste se encuentra. IMPRIMIR VARIABLES Algunas veces queremos imprimir el valor de una variable local PL/SQL. Una manera de hacerlo “rápida y sucia” es almacenar dicho valor como una única tupla de una relación y después del PL/SQL, […]


Procedimientos PL/SQL

PROCEDIMIENTOS: Los procedimientos PL/SQL son muy parecidos a otros procedimientos en otros lenguajes de programación. Ejemplo de inserción de un registro compuesto por un número entero dado y una cadena, (i, ‘xxx’):

Un procedimiento se indica mediante las palabras clave CREATE PROCEDURE seguido del nombre y sus parámetros. Opcinal es continuarlo de CREATE seguido de OR REPLACE. Esto permitirá crear o reemplazar el procedimiento, si existe previamente, sin advertencias. Puede haber un número ilimitado de parámetros, seguidos de un modo y un tipo. Los modos posibles son: IN: Solo lectura. OUT: Solo escritura. INOUT: Lectura y escritura.


Cursores en PL/SQL

Un cursor es una variable que va recurriendo las tuplas o registros de alguna relación. Esta relación puede ser una tabla almacenada o una respuesta a una query. Con los cursores, por tanto, podemos tratar los registros de una relación uno a uno. Si la relación es almacenada, además podemos actualizar (UDAPTE) o borrar (DELETE) el registro en el que se encuentre la posición actual del cursor. El ejemplo a continuación muestra un bucle con cursor. Usa el ejemplo de la tabla T1(e,f) visto en el apartado Programas simples en PL/SQL. En T1 los registros son parejas de enteros. El […]


Control del flujo en PL/SQL

De manera familiar, PL/SQL permite el uso de estructuras de control, bucles, etc. IF: Nada nuevo. La parte del ELSIF y ELSE son opcionales, y ELSIF se puede repetir tantas veces como necesitemos.

LOOP: Los bucles se crean como veremos a continuación. Para éste caso, hay que tener en cuenta que el bucle debe tener en su cuerpo siempre con una sentencia de tipo EXIT. El bucle acabará cuando se cumpla.

WHILE:

FOR: Aquí, puede ser cualquier variable. Es local para el bucle y no necesita ser declarada. Además, y son constantes.

NOTA: EXIT por sí […]