Share via


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

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