ARRAY_EXISTS, predicado

El predicado ARRAY_EXISTS comprueba la existencia de un elemento de matriz con el índice especificado en una matriz.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualARRAY_EXISTS( array-expression, array-index)
array-expression
Especifica uno de los siguientes elementos:
  • Inicio del cambioUna variable SQL, un parámetro SQL o una variable global de tipo arrayfin del cambio
  • 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