Nuevas características de SQLite 3.36.0

A continuación encontrarás traducido al español el artículo publicado originalmente en el blog de Xojo y escrito por Paul Lefebvre.

Xojo 2021 Release 3 incluye SQLite 3.36.0, la cual incorpora una serie de nuevas características; como por ejemplo:

  • RETURNING sobre los comandos DELETE, INSERT y UPDATE
  • ALTER TABLE DROP COLUMN
  • EXPLAIN QUERY PLAN
  • Clausula RETURNING

La clausula RETURNING puede utilizarse con los comandos DELETE, INSERT y UPDATE para obtener un valor de vuelta después de ejecutar el comando, sin necesidad de tener que realizar una consulta adicional.

Por ejemplo, puedes enviar un comando UPDATE que recalcule un valor y obtener el nuevo valor de vuelta así:

UPDATE sales SET amount = amount * 2 WHERE ID = 1 RETURNING amount

Esto devolverá la nueva cantidad (amount) calculada donde previamente debías de utilizar una instrucción SELECT adicional para obtenerla.

Este ejemplo agregará ” the Great” al final de todos los nombres en la tabla Artist y devolverá el nuevo nombre junto con su ID:

UPDATE Artist SET Name = Name || + " the Great" RETURNING Name, ArtistId

Para acceder al valor de RETURNING desde Xojo, querrás enviar el comando usando SelectSQL en vez de ExecuteSQL, de modo que puedas utilizar el RowSet

DROP Column

SQLite ha sido históricamente un tanto inflexible cuando se trata de modificar la estructura de la tabla una vez que se ha creado. Hasta hace relativamente poco tiempo, sólo era posible cambiar el nombre de las tablas y añadir nuevas columnas.

En SQLite 3.25 se introdujo la capacidad de modificar el nombre de las columnas sobre una tabla añadida. Y ahora también puedes borrar (drop) columnas de una tabla.

Puedes hacerlo usando la sintaxis estándar como esta:

ALTER TABLE MyTable DROP COLUMN OldColumn;

Plan de Consulta

Un plan de consulta describe el modo en el que SQLite procesa la consulta SQL. Realmente sólo es útil con objeto de depuración. Si tienes una consulta lenta, puede resultar útil en ocasiones echar un vistazo al plan de consulta para ver si evidencia algún problema evidente en el modo en el que se realiza la consulta, como por ejemplo que la consulta está recorriendo la tabla en vez de utilizar un índice.

Para ver el plan de consulta has de poner EXPLAIN QUERY PLAN delante de la consulta SQL. Esta capacidad ha estado disponible en SQLite desde hace tiempo, si bien ha sido recientemente cuando ha obtenido algunas mejoras en la salida, haciendo que resulte más fácil de usar. Asegúrate de probarlo.

Por ejemplo, así se obtiene un plan de consulta para una consulta sencilla usando la vista AlbumArtist de la base de datos Chinook:

EXPLAIN QUERY PLAN SELECT * FROM AlbumArtist

El plan de consulta tiene el siguiente aspecto, con filas independientes para cada evaluación:

Para aprender más sobre el uso de SQLite con Xojo, comprueba los siguientes recursos adicionales: Documentación de Xojo sobre SQLite Database, Tutorial: SQLite Basics, Blog: 3 Steps to Semalessly Deploy SQLite Pojects on Desktop, Web & iOS, y la entrada del Blog: Backwards SQLite Backups.

Deja un comentario

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