PL/SQL


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í […]


Programar simples en PL/SQL

Una de las mayores diferencias respecto a SQL es la sentencia SELECT. En este caso, tras la cláusula SELECT, debemos poner una cláusula INTO para listar variables, una por cada atributo en la cláusula SELECT, dentro de las cuales los componentes de la tupla o registro. Nótese que nos referimos a “tupla”, y no, “tuplas”. Esto es debido a que en PL/SQL, el resultado de una sentencia SELECT solo puede devolver una única tupla. Es parecido a un SINGLE-ROW SELECT. Si devuelve más de una tupla, debemos usar un cursor (explicado más adelante). Ejemplo:


Tipos y Variables en PL/SQL

Para tipos numéricos se usa comúnmente el tipo NUMBER, que engloba enteros como números reales. PL/SQL permite variables de tipo BOOLEAN, sin embargo, Oracle no soporta dicho tipo para las columnas de la base de datos. Podemos usar la siguiente sentencia para hacer que la variable “myBeer” sea declarada con el mismo tipo que tiene la columna “name” en la relación “Beers“:

La siguiente sentencia hace que la variable “beerTuple” sea un registro con los campos “name” y “manufacture“, asumiendo la relación que tiene en el schema Beers(name, manufacture):

El valor inicial de cualquier variable, sin importar su […]


Estructura básica PL/SQL

PL/SQL extiende de SQL, siendo más potente. Su estructura básica se compone de bloques que veremos a continuación.

Para ejecutar un programa PL/SQL, debemos continuar el propio texto del programa con: – Una línea con un punto (“.”), y después – Una línea con la sentencia “run;”