A El SQL de SQLite

SQLite no implementa el lenguaje SQL de una forma estricta. Algunas seneencias no están implementadas, y otras se interpretan de un modo diferente. En este capítulo veremos la sintaxis de SQL según lo interpreta SQLite.

Omisiones

Entre las características que no se incluyen, tenemos las siguientes:

Composición

SQLite implementa la composición LEFT OUTER JOIN, pero no las composiciones RIGHT OUTER JOIN ni FULL OUTER JOIN.

Modificación de estructura de tablas

SQLite sólo soporta las variantes RENAME TABLE y ADD COLUMN de la sentencia ALTER TABLE.

Otras variantes, como DROP COLUMN, ADD CONSTRAINT, etc, no existen.

Triggers

Están soportados los del tipo FOR EACH ROW, pero no los del timpo FOR EACH STATEMENT.

Vistas

Las vistas (VIEWs) en SQLite son sólo de lectura. No se pueden ejecutar las sentencias DELETE, INSERT o UPDATE sobre una vista. Sin embargo, se puede crear un trigger que se active ante un intento de borrar, insertar o actualizar una vista, y hacer lo que se necesite en el cuerpo del trigger.

Privilegios

Dado que SQLite lee y escribe en un fichero de disco normal, los únicos permisos de acceso que se pueden aplicar son los normales de acceso a del sistema operativo. Las sentencias GRANT y REVOKE no están implementadas, ya que no tienen sentido en un motor de base de datos embebido.