Remover um grupo de registros que tenham chave iniciada pelo mesmo valor.
FGPDELETE (<exp.C1>, <exp.C2>, <exp.C3>)
|
<exp.C1> |
representa o nome de arquivo do banco de dados em uso. |
|
<exp.C2> |
representa o nome da chave a pesquisar para remoção. |
|
<exp.C3> |
representa um valor do prefixo da chave pesquisada. |
Se a chave for numérica, deve ser transformado para cadeia pela função STR (). Se a chave for do tipo data, deve ser transformada para cadeia no formato "dd/mm/aa". Se a chave for do tipo lógico, deve ser transformada para cadeia sendo,"0" para falso (.F.) e "1" para verdadeiro (.T.).
Exclui um grupo de registros de um arquivo que tenham o mesmo valor inicial para uma chave do tipo cadeia.
Seu funcionamento é parecido com a utilização dos comandos SEEK, DELETE e SKIP, pois seleciona um grupo de registros para remoção.
Se a exclusão for bem sucedida, retorna 0 (zero). Caso contrário, retorna um número referente ao erro de exclusão (DBERR ()).
A remoção dos registros é feita de forma física, isto é, o registro não é marcado para exclusão e seu conteúdo é removido do arquivo de dados e de seus índices. Em arquivos OpenBASE os registros excluídos ocupam espaço para futuras inclusões, agilizando assim, o processo de exclusão e inclusão de registros, porque não é feita uma reorganização do arquivo na remoção e nem alteração do tamanho do arquivo na inclusão.
Quando se realiza um número muito grande de exclusões o arquivo passa a ocupar espaço desnecessário. Quando isso ocorre, é sugerido que se faça uma manutenção no banco ou nos arquivos que apresentem tal característica (ver manual de utilitários).
A função FGPDELETE () não permite a exclusão de registros com ligações, isto garante a integridade referencial.
Utilizada na construção de programas ou procedimentos com independência de dados e aplicação. Dispensa abertura de arquivo (USE), necessitando apenas, que exista um banco de dados em uso.
O exemplo a seguir mostra-nos a utilização desta função.
** Exclui todos os registros que tenham o prefixo de
** par_depe igual a FIL.
ret = FGPDELETE ("tab_depe", "par_depe","FIL")
** ret recebe o codigo de erro desta atualização.
DELETE, FEMPTY(), FDELETE(), FGDELETE() e FRECCOUNT().