O comando TRUNCATE remove rapidamente todas as linhas de um conjunto de tabelas. Possui o mesmo efeito do comando DELETE não qualificado (sem a cláusula WHERE), mas como na verdade não varre a tabela é mais rápido. É mais útil em tabelas grandes.
O nome (opcionalmente qualificado pelo esquema) da tabela a ser truncada.
Trunca, automaticamente, todas as tabelas contendo referência de chave estrangeira para qualquer uma das tabelas especificadas, ou para qualquer uma das tabelas adicionadas ao grupo devido à cláusula CASCADE.
Recusa truncar se qualquer uma das tabelas possuir referência de chave estrangeira de uma tabela que não será truncada. Este é o padrão.
Somente o dono da tabela pode truncá-la.
O comando TRUNCATE não pode ser utilizado em uma tabela que possui referência de chave estrangeira de outras tabelas, a menos que todas estas outras tabelas também sejam truncadas no mesmo comando. Neste caso, a verificação da validade exigiria a varredura da tabela, e o objetivo principal é não fazer a varredura. A opção CASCADE pode ser utilizada para incluir, automaticamente, todas as tabelas dependentes — mas deve-se ter muito cuidado quando se utiliza esta opção, senão poderão ser perdidos dados que não eram para ser apagados!
O comando TRUNCATE não executa os gatilhos ON DELETE definidos pelo usuário existentes nas tabelas.