PRIMARY( ) (Función)
Devuelve verdadero (.T.) si una etiqueta de índice es una etiqueta de índice principal; de lo contrario, devuelve falso (.F.).
PRIMARY([nIndexNumber] [, nWorkArea | cTableAlias])
Valores devueltos
Logical
Parámetros
- nIndexNumber
Especifica el número de la etiqueta de índice para la que PRIMARY( ) devuelve el estado principal. PRIMARY( ) devuelve el estado principal en el orden siguiente a medida que nNúmeroÍndice aumenta desde 1 hasta el número total de etiquetas de índices estructurales compuestos y compuestos independientes.
En primer lugar se devuelve el estado principal de cada etiqueta del índice estructural compuesto (si hay uno presente). El estado principal de las etiquetas se devuelve en el orden en que se han creado las etiquetas en el índice estructural.
A continuación, se devuelve el estado principal de cada etiqueta de los índices compuestos abiertos e independientes. El estado principal de las etiquetas se devuelve en el orden en que se han creado las etiquetas en los índices compuestos independientes.
Si omite nNúmeroÍndice, PRIMARY( ) comprobará si la etiqueta de índice principal de control es una etiqueta de índice principal. Si no hay una etiqueta de índice principal de control, PRIMARY( ) devolverá falso(.F.).
nWorkArea
Especifica el área de trabajo de la etiqueta de índice especificada con nIndexNumber.cTableAlias
Especifica el área de trabajo de la etiqueta de índice especificada con nIndexNumber.Si omite nWorkArea y cTableAlias, PRIMARY( ) comprobará si la etiqueta de índice del área de trabajo seleccionada actualmente es una etiqueta de índice principal.
Ejemplo
El ejemplo siguiente abre la tabla customer
de la base de datos. FOR ... ENDFOR para crear un bucle en el que se comprueba el estado principal de cada etiqueta de índice en el índice estructural customer
. Se muestra el nombre de cada etiqueta de índice estructural con su estado principal.
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\') && Sets path to database
OPEN DATABASE testdata && Open testdata database
USE Customer && Open customer table
FOR nCount = 1 TO 254
IF !EMPTY(TAG(nCount)) && Checks for tags in the index
? TAG(nCount) && Display tag name
? PRIMARY(nCount) && Display primary status
ELSE
EXIT && Exit the loop when no more tags are found
ENDIF
ENDFOR
Vea también
ALTER TABLE – SQL | CANDIDATE( ) | CREATE TABLE – SQL | INDEX