Anterior Sumário Próximo OpenBASE! O Banco de Dados inteligente. Fale conosco!

SELECIONE

Propósito

Selecionar registros de um arquivo do banco de dados.

Sintaxe

SEL[ECIONE] <item>[<nome>:] [[<num1>,<num2>]] <operador> <valor> [...] 

SEL[ECIONE] NOME = <arquivo>

SEL[ECIONE] <CHAVE> = virtual (<valor>, ... <valorn>).

Descrição

<item>

representa o nome de um item no arquivo.

<nome>

representa o nome do arquivo a que pertence <item>, quando <item> for um nome que ocorra em mais de um arquivo.

[<num1>,<num2>]

determina uma pesquisa por subcadeia de caracteres, onde:

  • <num1> representa a posição inicial para pesquisa. Pode ser substituído por "*" indicando que a subcadeia será pesquisada em qualquer posição do item.
  • <num2> representa o tamanho da subcadeia

<operador>

representa um operador relacional e indica o tipo de comparação a ser feita.

<valor>

representa um valor a ser comparado com o valor do item. Pode ser o nome de um item ou uma expressão do mesmo tipo de <item>.

<arquivo>

representa o nome de um arquivo de procedimentos de seleção guardado em disco.

Utilização:

O comando SELECIONE é utilizado para determinar um conjunto de registros que será utilizado pelos comandos LISTE, IMPRIMA, ALTERE , CALCULE e EXCLUA, guardando o endereço dos registros em um arquivo em disco. Por "default" o arquivo de seleção é um arquivo temporário que é removido ao término da execução do GERAL. Havendo necessidade de manter este arquivo, utiliza-se o comando SELEÇÃO.

Um procedimento de seleção guardado em disco é criado utilizando-se um editor de textos e compõem-se de uma expressão relacional para pesquisa dos registros no banco de dados.

Uma pesquisa seqüencial é realizada sempre que um item não-chave estiver sendo procurado ou sempre que estiverem sendo usados os operadores relacionais <>, >, <, >= ou <=. Caso o comando LIGUE PERGUNTA tiver sido executado e em um procedimento de seleção seja necessária uma pesquisa seqüencial, a seguinte mensagem será enviada:

LEITURA SEQUENCIAL. PROSSIGO (S OU N) ?

O usuário neste momento deve responder digitando S, para confirmar a pesquisa seqüencial. Caso contrário, a pesquisa não será executada.

Depois do GERAL ter executado o comando SELECIONE com êxito, ele informa o número de registros lidos, enviando a seguinte mensagem:

FORAM SELECIONADOS <número> REGISTROS

onde <número> representa a quantidade de registros no arquivo de seleção.

Para os operadores relacionais = ou < > (diferente de), o usuário pode pedir ao GERAL que procure por mais de um valor para um mesmo item. Para isto, o usuário especifica os valores um após o outro, separados por vírgula.

Operadores Relacionais de Procedimentos:

A opção virtual no comando SEL é utilizada para chaves redefinidas ou virtuais, permitindo que sejam efetuadas leituras a partir de chaves redefinidas por itens de vários tipos de dados.

Recebe como argumento expressões para pesquisa, que devem ser passadas, separadas por vírgula e na ordem da redefinição da chave.

Operador relacional

Significado

=

Igual

<>

Diferente

<

Menor

>

maior

>=

Maior ou igual

<=

Menor ou igual

$=

Prefixo de cadeia

Exemplos

O exemplo a seguir mostra como selecionar registros utilizando a opção virtual.

$controle redefu

banco tecno 1

nome: func e

cod(0) u10

cod1 p04 pos cod

cod2 u08 pos cod + 2 

Tecnocoop Sistemas

Comando? sel cod = virtual(0003,Maria)

O exemplo a seguir mostra como selecionar todos os registros que tenham o item PNOME1 com o valor
"LEITORA OPTICA".

COMANDO? SELECIONE PNOME1 = ;

"LEITORA OPTICA"

O exemplo a seguir mostra como selecionar todos os registros que tenham o item PRECO com valor menor que 5000.

COMANDO? SELECIONE PRECO < 5000

Os exemplos a seguir mostram como selecionar registros utilizando os conectores E e OU.

COMANDO? SELECIONE PNOME1 =+;

"LEITORA OPTICA" E LOCAL1 = "CANADA"

COMANDO? SELECIONE LOCAL1 =+;

"BR MEIOESTE" OU PRECO > 7500 

COMANDO? SELECIONE CUSMAO < 100 OU; CUSMAO > 999 E PRECO= 150

O exemplo a seguir mostra dois modos de selecionar os registros que tenham o item LOCAL1 com valor "CANADA" ou "JAPAO".

COMANDO? SELECIONE LOCAL1="BR ESTE"+; "CANADA"

COMANDO? SELECIONE LOCAL1="BR ESTE"+;

OU LOCAL1="CANADA"

O exemplo a seguir mostra como selecionar registros fazendo com que o GERAL pergunte o valor para o item PNOME1 e PRECO.

? SELECIONE PNOME1="","" E PRECO="",""

QUAL O VALOR DE PNOME1? "LEITORA OPTICA"

QUAL O VALOR DE PNOME1? TELETIPO

QUAL O VALOR DE PRECO? 4900

QUAL O VALOR DE PRECO? 340

FORAM SELECIONADOS 00002 REGISTROS

COMANDO ?

O exemplo a seguir mostra como utilizar um procedimento de seleção, armazenado em um arquivo em disco.

Formato do arquivo de seleção: PNOME1 = "" OU LOCAL1 = "CANADA"

COMANDO ? SEL NOME = selarq.g

QUAL O VALOR DE PNOME1? "LEITORA OPTICA"

FORAM SELECIONADOS 000003 REGISTROS

O exemplo a seguir, mostra um arquivo existente num banco de dados e três procedimentos de seleção com seus respectivos arquivos de seleção com o número dos registros selecionados.

PNUM1

PNOME1

MODELO 

LOCAL1

PRECO

CUSMAO

CUSMAT

END REG

33000 

DISCO ALTAVELOCIDADE

5000 

BR OESTE

1800

220

460 

1

33001

DISCO ALTA VELOCIDADE

5000

BR ESTE

1800 

220 

460 

 2 

33002

DISCO ALTA VELOCIDADE 

5100 

JAPAO 

1850 

220 

475 

 3

51000

LEITORA DE CARTAO 

5000 

BR OESTE

 4900

 500 

650

 4

07500

TELETIPO

4000 

JAPAO

340

100

125 

 5

COMANDO ? SELECIONE PNOME1="DISCO ALTA"+;

VELOCIDADE" E LOCAL1 <> "BR OESTE"

FORAM SELECIONADOS 00002 REGISTROS

Arquivo de seleção

-------------------------------

| 2 | 3 | | | | |

-------------------------------

COMANDO ?SELECIONE LOCAL1="BR OESTE", "BR ESTE"

FORAM SELECIONADOS 00003 REGISTROS

Arquivo de seleção

-------------------------------

| 1 | 2 | 4 | .. | .. | .. | 

-------------------------------

COMANDO?SELECIONE LOCAL1="BR OESTE","JAPAO" OU MODELO=5000

FORAM SELECIONADOS 00005 REGISTROS

Arquivo de seleção

-------------------------------

| 1 | 2 | 3 | 4 | 5 | .. | 

-------------------------------

Anterior Sumário Próximo OpenBASE! O Banco de Dados inteligente. Fale conosco!