Saltar para o conteúdo principal
Versão: 20 R7 BETA

TRUNCATE TABLE

TRUNCATE TABLE {( tabela )}

ParâmetroTipoDescrição
tabelaTableTabela onde todos os registros serão apagados ou tabela padrão se esse parâmetro for omitido

Descrição

O comando TRUNCATE TABLE [#descv]apaga rapidamente todos os registros de tabela. Depois de chamar o comando, não há uma seleção atual nem um registro atual.

O efeito deste comando é similar ao de uma sequência ALL RECORDS / DELETE SELECTION; entretanto, seu funcionamento difere nos seguintes pontos:

  • Não se chama o trigger
  • A integridade referencial dos dados não é controlada.
  • Nenhuma transação deve estar em curso no processo que executa TRUNCATE TABLE. Se este for o caso, o comando não faz nada e a variável sistema OK assume o valor 0
  • Se um ou mais registros estiverem bloqueados por outro processo, o comando falha: m erro é gerado e a variável sistema OK assume o valor 0. O conjunto sistema LockedSet não é criado.
  • Se tabela já estiver vazia, TRUNCATE TABLE não faz nada e a variável OK assume o valor 1.
  • Se tabela estiver em modo apenas leitura, TRUNCATE TABLE não faz nada e a variável OK assume o valor 0.
  • A variável OK assume o valor 0 ou 1 dependendo de se o comando falhou ou foi bem sucedido.
  • A operação é gravada no arquivo de histórico se houver. O comando TRUNCATE TABLE deve portanto ser utilizado com cuidado, no entanto é muito efetivo em alguns casos, por exemplo, para apagar rapidamente dados temporários.

Nota: o conceito e funcionamento deste comando é similar ao do comando SQL TRUNCATE (TABELA).

Variáveis e conjuntos do sistema

Se o comando tiver sido executado corretamente, a variável sistema OK assume o valor 1. Do contrário, assume o valor 0.

Ver também

DELETE SELECTION