SQLTRONQUER


Introduction

L'instruction TRUNCATE supprime toutes les données d'une table. Ceci est similaire à DELETE sans filtre, mais, en fonction du logiciel de base de données, présente certaines restrictions et optimisations.

Syntaxe

  • TRUNCATE TABLE nom_table;

Remarques

TRUNCATE est une commande DDL (Data Definition Language), et il existe donc des différences significatives entre cette commande et DELETE (un langage de manipulation de données, DML, commande). Bien que TRUNCATE puisse être un moyen de supprimer rapidement de gros volumes d'enregistrements d'une base de données, ces différences doivent être comprises afin de décider si l'utilisation d'une commande TRUNCATE convient à votre situation particulière.

  • TRUNCATE est une opération de page de données. Par conséquent, les déclencheurs DML (ON DELETE) associés à la table ne se déclenchent pas lorsque vous effectuez une opération TRUNCATE. Bien que cela économise beaucoup de temps pour des opérations de suppression massives, vous devrez peut-être alors supprimer manuellement les données associées.
  • TRUNCATE libère l'espace disque utilisé par les lignes supprimées, DELETE libère de l'espace
  • Si la table à tronquer utilise des colonnes d'identité (MS SQL Server), la graine est réinitialisée par la commande TRUNCATE. Cela peut entraîner des problèmes d’intégrité référentielle
  • Selon les rôles de sécurité en place et la variante de SQL utilisée, il se peut que vous ne disposiez pas des autorisations nécessaires pour exécuter une commande TRUNCATE.

TRONQUER Exemples Liés