Cómo truncar un campo en SQL


Mejor respuesta

En primer lugar, “NO ES POSIBLE TRUNCAR UN CAMPO”.

Truncar es un concepto en la base de datos que no es como una declaración de eliminación o una actualización. El concepto principal de Truncate es cómo se manejan los metadatos detrás de escena. Si está trabajando con Oracle, puede estudiar un concepto llamado «High Water Mark» . Puede encontrarlo en detalle en el blog de Burleson aquí.

En Sql server si piensa en una clave principal con valor de incremento automático, truncar y configurarlo todo en la base. Me refiero al valor inicial definido por usted o el valor predeterminado 1. Entonces, básicamente, las operaciones que realiza en el back-end son más específicas para los metadatos y más específicas para la propiedad de nivel de tabla de una base de datos.

Ahora, si quería decir que desea limpiar una columna, puede activar una actualización con NULL para esa columna en particular o puede actualizar con .

Update TABLE

Set Column = NULL/’’

Where 1 =1

Mencioné esto último donde porque ahora muchas bases de datos no le permiten actualizar toda la columna sin una cláusula where. En mySql , se llamó como “Bandera de actualización segura” . Pero para ser más específico, actualice siempre con NULL en lugar de «» para seguir una buena práctica

Respuesta

DELETE es una operación registrada por fila. Esto significa que la eliminación de cada fila se registra y elimina físicamente. Puede eliminar cualquier fila que no implique una violación de restricción, mientras deja la clave externa o cualquier otra restricción en su lugar.

TRUNCATE es una operación registrada, pero de una manera diferente. TRUNCATE registra la ubicación del trato de las páginas de información en las que existe información. La desasignación de las páginas de información significa que sus filas de información todavía existen en las páginas de información, pero las extensiones están marcadas como vacías para su reutilización. Esto es lo que hace que TRUNCATE sea una operación más rápida de realizar sobre DELETE. No se puede truncar una tabla que tiene restricciones de clave externa. Debe eliminar las restricciones, truncar la tabla y volver a aplicar las restricciones.

TRUNCATE restablecerá cualquier columna de identidad a la inicialización del valor predeterminado. Esto significa que si tiene una tabla con una columna de identidad y tiene 264 filas con un valor inicial de 1, su último registro tendrá el valor 264 (asumiendo que comenzó con el valor 1) en las columnas de su identidad. Después de truncar su tabla cuando inserta un nuevo registro en la tabla vacía, la columna de identidad tendrá un valor de 1. BORRAR no «t. En el mismo escenario, si la fila actual, insertar una nueva fila en la tabla vacía , la columna de identidad tiene un valor de 265.

¿Por qué Truncar es más rápido que Eliminar?

Motivo: En escribir para eliminar toda la información se copia en el espacio de la tabla de reversión y luego se realiza la operación de eliminación. Por lo tanto, cuando escribe ROLLBACK después de eliminar una tabla, puede recuperar la información (el método la obtiene para el ritmo de las tablas de reversión). La técnica llevará tiempo, pero cuando se usa TRUNCATE, elimina la información directamente sin copiarla en el espacio de tabla Rollback. Por lo tanto, TRUNCATE es más rápido. Si se trunca dos veces, no se puede recuperar la información.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *