Saltar para o conteúdo principal
Versão: Próximo

COPY NAMED SELECTION

COPY NAMED SELECTION ( {tabela ;} nome )

ParâmetroTipoDescrição
tabelaTabela🡒Tabela da qual copiar seleção, ou Tabela por padrão, se omitida
nomeString🡒Nome da seleção temporal a criar

Descrição

COPY NAMED SELECTION copia a seleção atual de tabela em uma seleção temporária nome. A tabela comum do processo é utilizada se o parâmetro opcional tabela não são especificadas. O parâmetro nome contém uma cópia da seleção. A seleção atual e o registro atual de tabela para o processo não mudam.

Uma seleção temporária não contém em realidade registros, mas uma lista ordenada de referências a registros. Cada referência a um registro ocupa 4 bytes em memória. Isto significa que quando uma seleção é copiada utilizando o comando COPY NAMED SELECTION, a quantidade de memória necessária é de 4 bytes multiplicado pelo número de registros na seleção. Como as seleções temporárias residem em memória, você deve ter suficiente memória para a seleção temporária assim como a seleção atual da tabela no processo.

Utilize o comando CLEAR NAMED SELECTION para liberar a memória utilizada por nome.

Exemplo

O seguinte exemplo permite verificar se há outras faturas vencidas na tabela [Pessoas]. A seleção é ordenada e depois é guardada. Nós pesquisamos todos os registros onde as faturas estão vencidas. Depois são reutilizadas a seleção e apagar a seleção temporária em memória. Apagar a seleção temporária em memória é opcional, em caso que o desenhista do banco queira conservar a seleção ordenada para uso futuro:

 ALL RECORDS([Pessoas])
  //Permitir ao usuário ordenar a seleção
 ORDER BY([Pessoas])
  // Guardar a seleção ordenada como uma seleção temporária
 COPY NAMED SELECTION([Pessoas];"OrdemUsuario")
  // Pesquisar os registros onde as faturas estão vazias
 QUERY([Pessoas];[Pessoas]FaturaVence=True)
  //Se são encontrados registros
 If(Records in selection([Pessoas])>0)
  // Informar ao usuário
    ALERT("Se houver faturas vencidas na tabela.")
 End if
  // Reutilizar a seleção temporária ordenada
 USE NAMED SELECTION("OrdemUsuario")
  // Apagar a seleção da memória
 CLEAR NAMED SELECTION("OrdemUsuario")

Ver também

CLEAR NAMED SELECTION
CUT NAMED SELECTION
USE NAMED SELECTION