ARRAY_EXISTS, predicado
El predicado ARRAY_EXISTS comprueba la existencia de un elemento de matriz con el índice especificado en una matriz.
- array-expression
- Especifica uno de los siguientes elementos:
Una variable SQL, un parámetro SQL o una variable global de tipo array
- Una especificación CAST de un marcador de matriz o parámetro a un tipo de matriz.
- array-index
- Especifica el índice del elemento de matriz que se va a probar. Un valor de índice de matriz para una matriz ordinaria debe ser convertible a INTEGER. Un valor de índice de matriz para una matriz asociativa debe ser convertible al tipo de datos del índice de matriz.array-index no debe ser una expresión que haga referencia a ninguno de los siguientes elementos:
- El registro especial FECHA ACTUAL, HORA ACTUAL o MARCA DE TIEMPO ACTUAL
- Una función no determinista
- Una función que se define con ACCIÓN EXTERNA
- Una función que se define con MODIFIES SQL DATA
- Una expresión de secuencia
El resultado del predicado ARRAY_EXISTS es:
- True si la expresión de matriz incluye un índice de matriz que es igual al resultado de convertir el índice de matriz al tipo de datos del índice de matriz de la expresión de matriz.
- Falso en cualquiera de las siguientes condiciones:
- array-expression no incluye un índice de matriz que sea igual al resultado de convertir array-index al tipo de datos del índice de matriz de array-expression.
- Cualquiera de los argumentos es nulo.
- No puede ser desconocido.
Ejemplo : Supongamos que la variable de matriz RECENT_CALLS se define como una matriz ordinaria de tipo matriz PHONENUMBERS. La siguiente instrucción IF comprueba si la lista de llamadas recientes ha alcanzado la llamada guardada en el campo " 40th ". Si es así, la variable local entera EIGHTY_PERCENT se establece en 1:
IF (ARRAY_EXISTS(RECENT_CALLS, 40))
THEN SET EIGHTY_PERCENT = 1;
END IF