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).