ThirdImpactBlog

SQLite が実装していない SQL の機能

SQLite翻訳文書セットの一部です。
随時翻訳を続けています。

サポートしていない SQL92 の機能を以下に示します。それらを示すほうが、 SQLiteがサポートする SQL92 のすべての機能を示すよりはるかに簡単です。

このリストの順番は、 SQLite に機能が加えられる時期について何らかのヒントを与えます。 リストの上のほうの機能は、近い将来に加えられるかも知れません。 リストの末尾の方の機能を加える計画は、当面ありません。

FOREIGN KEY 制約 FOREIGN KEY制約は、解析されますが、実行されません。
完全なトリガーのサポート トリガーのための部分的なサポートはありますが、完全ではありません。 欠けている機能は、FOR EACH STATEMENTトリガ (現在すべてのトリガがFOR EACH ROWでなければならない)、 テーブルへのINSTEAD OFトリガー(現在のINSTEAD OFトリガーはビューでのみ認められる)、 および再帰的なトリガー(自分自身が引き金となるトリガー)などです。
完全な ALTER TABLE サポート ALTER TABLE の RENAME TABLE と ADD COLUMN 変種のみサポートしています。 DROP COLUMN、 ALTER COLUMN、 ADD CONSTRAINT のような他の種類の ALTER TABLE 操作は除かれます。
入れ子になったトランザクション 現在の実装は、一つのアクティブなトランザクションしか認めません。
RIGHT と FULL OUTER JOIN LEFT OUTER JOIN は実装されていますが、 RIGHT OUTER JOIN や FULL OUTER JOIN は実装されていません。
VIEW への書き込み SQLite の VIEW は読出し専用です。 VIEW に対して DELETE、INSERT、UPDATE ステートメントを実行してはいけません。 しかし、VIEW に対する DELETE、INSERT、UPDATE で発火するトリガを作成して、 トリガ本体の中で必要なことをする事は出来ます。
GRANT と REVOKE SQLite は通常のディスクファイルを読み書きするので、 適用することができるアクセス許可は基本的なオペレーティングシステムの 通常のファイル・アクセス許可のみです。 組み込み用データベース・エンジンにとって無意味と思われるので、 クライアント/サーバ方式の RDBMS で一般的な GRANT と REVOKE コマンドは実装されていません。

SQLite がサポートしていない SQL92 の機能を見つけたら、 http://www.sqlite.org/cvstrac/wiki?p=Unsupported にある Wiki ページに追加してください。

This page last modified on 2005/11/03 00:41:18
最終更新(2009-09-21)
個人情報の取り扱いについて 運営者について