Además de las variables escalares normales, NZPLSQL también soporta variables de matriz.
Para declarar una variable de matriz, utilice la sintaxis siguiente:
nombre VARRAY(tamaño) OF tipo;
Todos los elementos de la matriz se establecen inicialmente en valor de SQL NULL
para el tipo declarado. Para asignar un valor a un elemento, realice lo siguiente:
nombre(idx) := valor;
Esta sintaxis genera una excepción si el índice (idx) está fuera de los límites.
Se soportan los métodos siguientes:
nombre.EXTEND(tamaño)
nombre.COUNT
nombre.TRIM(tamaño)
El método EXTEND amplía la matriz en el tamaño especificado. Si se omite
tamaño, el valor predeterminado es 1.
COUNT devuelve el número de elementos en la matriz.
TRIM suprime los últimos elementos tamaño en la matriz
(el valor predeterminado es 1). TRIM y EXTEND generan una excepción si
tamaño está fuera de los límites.
Las referencias de matriz se permiten casi en todos los lugares donde se permiten las
referencias de variable, con las excepciones siguientes:
- Como un argumento para RAISE
- Como una variable INTO
- Como la variable en un FOR LOOP
- Como parte de un valor predeterminado