Remover um grupo de registros que tenham mesmo valor da chave especificada.
FGDELETE (<exp.C1>, <exp.C2>, <exp.C3>)
<exp.C1> |
representa o nome do arquivo do banco de dados em uso. |
<exp.C2> |
representa o nome da chave a pesquisar para remoção. |
<exp.C3> |
representa um valor para a 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 que tenham o mesmo valor de uma chave.
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, devolve 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 eliminados 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 um 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 FGDELETE () 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.
arquivo = "tab_depe"
** Exclui todos os registros que tenham id2_func igual a 123.
ret = FGDELETE(arquivo,"id2_func","123")
** ret recebe o codigo de erro desta atualização.
DELETE, FEMPTY(), FDELETE() e FGPDELETE().