Возможности SQL, которые не реализованы в SQLite
SQLite поддерживает очень много фич SQL92. Гораздо легче перечислить, что SQLite не поддерживает в SL92, чем перечислять, что он поддерживает. Ниже перечислены неподдерживаемые фичи SQL92.
Список составлен в том порядке, в каком указанные возможности будут добавляться в SQLite. Чем выше фича, тем скорее она будет реализована. Реализация нижнего пункта списка отсутствует в планах разработки.
Ограничения "FOREIGN KEY" |
Ограничения целостности "FOREIGN KEY" анализируются, но не выполняются. |
Полная поддержка триггеров |
Поддержка триггеров существует, но не полная. Отсутствуют следующие фичи: нет триггеров "FOR EACH STATEMENT" (сейчас все триггеры должны быть "FOR EACH ROW"); нет триггеров "INSTEAD OF" (сейчас триггеры "INSTEAD OF" разрешены только во вьюхах); нет рекурсивных триггеров, т.е. тех, которые вызывают сами себя. |
Полная поддержка "ALTER TABLE" |
"ALTER TABLE" поддерживается только в вариантах "RENAME TABLE" и "ADD COLUMN". Пропущены такие типы операторов "ALTER TABLE" как "DROP COLUMN", "ALTER COLUMN", "ADD CONSTRAINT" и так далее. |
Вложенные транзакции |
В настоящем реализованы только простые выполняемые транзакции. |
"RIGHT" и "FULL OUTER JOIN" |
Поддерживается "LEFT OUTER JOIN" но не "RIGHT OUTER JOIN" и не "FULL OUTER JOIN". |
Запись во "VIEW"-хи |
В SQLite "VIEW"-хи доступны только для чтения. На вьюхах вы не можете выполнять операции "DELETE", "INSERT" или "UPDATE". Но, если вы в этом нуждаетесь, то можете создать триггер, который запросами в своем теле выполнит "DELETE", "INSERT" или "UPDATE" вьюхи. |
"GRANT" и "REVOKE" |
Так как SQLite читает и пишет в простой дисковый файл, то права доступа, которые могут быть применены к базе, являются обычными правами доступа к файлу, определяемые операционной системой. Команды "GRANT" и "REVOKE", обычно применяемые в клиент-серверных РСУБД, не реализованы потому что, они не имеют смысла для встроенного движка баз данных. |
Если вы найдете другие фичи SQL92, которые не поддерживаются в SQLite, пожалуйста, добавьте их на Вики-страницу http://www.sqlite.org/cvstrac/wiki?p=Unsupported