SQLTRUNCAR


Introducción

La instrucción TRUNCATE elimina todos los datos de una tabla. Esto es similar a BORRAR sin filtro, pero, dependiendo del software de la base de datos, tiene ciertas restricciones y optimizaciones.

Sintaxis

  • TRUNCATE TABLE table_name;

Observaciones

TRUNCATE es un comando DDL (lenguaje de definición de datos), y como tal, hay diferencias significativas entre él y DELETE (un lenguaje de manipulación de datos, DML, comando). Si bien TRUNCATE puede ser un medio para eliminar rápidamente grandes volúmenes de registros de una base de datos, estas diferencias deben entenderse para decidir si el uso de un comando TRUNCATE es adecuado para su situación particular.

  • TRUNCATE es una operación de página de datos. Por lo tanto, los activadores de DML (ON DELETE) asociados con la tabla no se activarán cuando realice una operación TRUNCATE. Si bien esto ahorrará una gran cantidad de tiempo para operaciones masivas de eliminación, sin embargo, es posible que deba eliminar manualmente los datos relacionados.
  • TRUNCATE liberará el espacio en disco utilizado por las filas eliminadas, DELETE liberará espacio
  • Si la tabla a truncar utiliza columnas de identidad (MS SQL Server), entonces el comando TRUNCATE restablece la semilla. Esto puede resultar en problemas de integridad referencial.
  • Dependiendo de los roles de seguridad existentes y la variante de SQL en uso, es posible que no tenga los permisos necesarios para ejecutar un comando TRUNCATE

TRUNCAR Ejemplos relacionados