Eliminar um registro do arquivo especificado.
FDELETE (<exp.C>)
|
<exp.C> |
representa o nome do arquivo do banco de dados em uso. |
Remove o último registro lido no arquivo <exp.C>.
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 de um registro é feita de forma física, isto é, o registro não é marcado para remoçã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 ocorrer, sugere-se 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 FDELETE () não permite a exclusão de registros com ligações, garantindo 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.
DATABASE bdemp1 33 a 2
DECLARE vet_reg[3] = SPACE(12)
DECLARE vet_buf[3] = SPACE(10)
vet_reg[1] = "id2_func"
vet_reg[2] = "par_depe"
vet_reg[3] = "dat_depe"
arquivo = "tab_depe"
** Lê o registro de numero 21
ret = FGO (arquivo, 21 , vet_reg, vet_buf)
** Exclui o registro lido.
ret = FDELETE (arquivo)
** ret recebe o codigo de erro desta atualização.
DELETE, FGDELETE() e FGPDELETE().