SQL92标准中SQlite未支持部分

来源:互联网 发布:书生商务软件 编辑:程序博客网 时间:2024/05/17 00:49

=============================================================

标题:SQL92标准中SQlite未支持部分

日期:2011.4.20

姓名:朱铭雷

=============================================================

1 高级联结SQlite支持“左外部联结(LEFT OUTER JOIN)”,不支持“右外部联结(RIGHT OUTER JOIN)”和“全外部联结(FULL OUTER JOIN)”。

2 修改表操作SQlite支持“重命名表(RENAME TABLE)”,使用“ALTER TABLE给表添加新列”。不支持使用“ALTER TABLE”进行“删除列(DROP COLUMN)”,“修改列(ALTER COLUMN)”,“添加约束(ADD CONSTRAINT)”等。

3 触发器支持不完整SQlite支持“行级触发器(FOR EACH ROW)”,不支持“语句级触发器(FOR EACH STATEMENT)”。

4 视图只能读不能写SQlite不能在一个视图上使用“删除(DELETE)”,“插入(INSERT)”和“更新(UPDATE)”语句。但是可以创建一个触发器,当对表进行“DELETE”,“INSERT”或者“UPDATE”操作时激活该触发器,在该触发器的body部分做所需的操作。

5 不支持GRANTREVOKE语句:因为SQlite只是去读写普通的磁盘文件,所以唯一可以应用到SQlite数据库的访问权限(控制),只有底层操作系统的普通的文件访问权限。所以那些client/server模式的数据库上通常具有的GRANTREVOKE命令,SQlite并不支持,因为它们对于“嵌入式的数据库引擎(embedded database engine)”毫无意义。

官网原文地址http://www.sqlite.org/omitted.html