Comando SEEK

Busca el primer valor que coincida con la cadena de caracteres o la expresión de caracteres especificada en un campo de carácter indexado.

Sintaxis

SEEK expresión_búsqueda

Parámetros

Nombre Descripción

expresión_búsqueda

La expresión de caracteres que se debe buscar.

Puede ser una cadena entre comillas, una variable de caracteres o una expresión de caracteres válida. expresión_búsqueda distingue entre mayúsculas y minúsculas, y puede incluir espacios al principio, que se tratan como caracteres.

Ejemplos

Busque el primer valor del campo que coincida con una variable de caracteres

El campo Número_de_tarjeta se ha definido como un campo de caracteres y está indexado en orden ascendente.

En el siguiente ejemplo, se encuentra el primer valor del campo que coincide de manera exacta, o comienza, con el valor que se incluye en la variable v_núm_tarj.

INDEX ON Número_de_tarjeta TO "NúmTarj" OPEN
SET INDEX TO "NúmTarj"
SEEK núm_tarj_v

Busque el primer valor de un campo que coincida con una cadena de caracteres

El campo Número_de_tarjeta se ha definido como un campo de caracteres y está indexado en orden ascendente.

En el siguiente ejemplo, se encuentra el primer valor del campo que coincide de manera exacta, o comienza, con el literal de carácter "AB-123":

INDEX ON Número_de_tarjeta TO "NúmTarj" OPEN
SET INDEX TO "NúmTarj"
SEEK "AB-123"

Observaciones

Nota

Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.

Cómo funciona

Utilice el comando SEEK para pasar directamente al primer registro de una tabla que contenga el valor de expresión_búsqueda especificado en el campo de caracteres indexado.

  • Si se encuentra la expresión_búsqueda, se selecciona el primer registro coincidente en la tabla.
  • Si no se encuentra la expresión de búsqueda, aparece el mensaje "Ningún índice es igual a la clave" y la tabla se ubica en el primer registro con un valor superior a la expresión de búsqueda.

    Si el campo indexado no contiene valores que sean mayores que la expresión de la búsqueda, la tabla se ubica en el primer registro.

Es necesario indexar

Para usar SEEK a fin de buscar un campo de caracteres, primero debe indexar el campo de manera ascendente. Si hay varios campos de caracteres indexados en orden ascendente, sólo se busca en el primer campo especificado en el índice.

SEEK no se puede utilizar para buscar campos indexados que no sean de caracteres o campos de caracteres que estén indexados en orden descendente.

Admite la coincidencia parcial

Admite la coincidencia parcial. La expresión de búsqueda puede estar incluida en un valor más extenso dentro del campo indexado. Sin embargo, la expresión de la búsqueda debe aparecer al principio del campo para que se considere una coincidencia.

El comando SEEK no se ve afectado por la opción Comparaciones de caracteres exactos (SET EXACT ON/OFF).

Guía de creación de scripts de ACL 14.1