> Manuales > Tutorial de Oracle

En este artículo estudiaremos los fundamentos de PL/SQL y algunos de los elementos que constituyen este lenguaje.

Para continuar con el manual de Oracle publicado en DesarrolloWeb.com, es hora de adentrarnos en las explicaciones de los elementos que forman parte del lenguaje PL/SQL.

Tipos de datos

Este lenguaje dispone de los mismo tipos de datos que podemos encontrar en SQL, pero además se han incorporado algunos nuevos:
Además es importante señalar que el programador puede definir sus propios tipos de datos a partir de los ya definidos.

Identificadores

Se utilizan para nombrar los objetos que intervienen en los programas PL/SQL como son las variables, constantes, cursores, excepciones, procedimientos, etc.

Pueden tener como máximo 30 caracteres empezando siempre por una letra, que puede ir seguida por otras letras, numeros, $, # ó _. Es importante destacar que PL/SQL no diferencia entre mayúsculas y minúsculas. También debemos señalar que no pueden contener espacios ni signos de puntuación.

Variables

Como doy por sentado que todos sabemos lo que son las variables, pasaremos directamente a comentar como se declara una variable en PL/SQL.

<nombreVariable> <tipo> [NOT NULL] [{:= | DEFAULT } <valor>]

No podemos indicar una lista de variables del mismo tipo y luego declarar el tipo, tenemos que hacerlo una a una.

Uno ejemplo de declaración de variables seria el siguiente:

DECLARE   
   importe NUMBER (8,2);
   contador NUMBER(2'0);
   nombre char(5) NOT NULL :="Sara";
...

Uso de los atributos %TYPE y %ROWTYPE

%TYPE: declara una variable del mismo tipo que otra, o que una columna de una tabla
%ROWTYPE : crea una variable registro cuyos campos se corresponden con las columnas de una tabla o vista.

Por ejemplo si tenemos una variable definida previamente llamada cantidad podemos definir otra de la siguiente forma:

   total cantidad%TYPE;

De esta forma la variable total tendrá las mismas características que la variable cantidad.
Otro ejemplo seria declarar una variable que fuera del mismo tipo que la columna nombre de la tabla profesor.

   nombre_alta nombre%ROWTYPE;

Ámbito y visibilidad de variables

La variable será local para el bloque en el que ha sido declarada y global para los bloque hijos de éste, mientras que las variables declaradas en los bloque hijos no son globales a los bloques padre.

Constantes

Cómo en la mayoría de los lenguajes, en este también podemos declaras constantes, de la siguiente forma:

<nombreVariable> CONSTANT <tipo> := <valor>;

Operadores

Asignación:=
LógicosAND
OR
NOT
Concatenación||
Comparación Is null
=
!=
<>
<
>
<=
>=
between...and
like
in
y sus correspondientes negaciones
Aritméticos+ - * / **

Funciones predefinidas

En PL/SQL tenemos las mismas funciones predefinidas que en SQL (AVG, MIN, MAX, COUNT, SUM, etc), pero tenemos que tener dos cosas muy claras a la hora de utilizarlas y son:
  1. La función no modifica el valor de las variables o expresiones que se pasan como argumentos, sino que devuelve un valor a partir de dicho argumento.
  2. Si a una función se le pasa un valor nulo en la llamada, posiblemente devolverá un valor nulo.

Etiquetas

Podemos utilizar etiquetas para poder irnos a cualquier parte del programa utilizando la sentencia GOTO siempre y cuando se cumplan las siguientes reglas:
No pueden haber etiquetas con los mismos nombres en un mismo programa.
La etiqueta debe preceder a un bloque o a un conjunto de ordenes ejecutables
la etiqueta no puede estar dentro de estructuras de control (IF, LOOP)

Sara Alvarez

Equipo DesarrolloWeb.com

Manual