创建视图

1.语法

创建视图 stmt:

CREATE TEMP TEMPORARY VIEW IF NOT EXISTS schema-name . view-name ( column-name ) AS select-stmt ,

选择stmt:

2.说明

CREATE VIEW 命令为预先打包的 SELECT语句指定一个名称。一旦创建了视图,就可以在另一个SELECT的 FROM 子句中使用它来代替表名。

如果“TEMP”或“TEMPORARY”关键字出现在“CREATE”和“VIEW”之间,则创建的视图仅对创建它的 数据库连接可见,并在数据库连接关闭时自动删除。

如果指定了模式名称,则在指定的数据库中创建视图。在 VIEW 上同时指定模式名 和 TEMP 关键字是错误的,除非模式名 是“temp”。如果未指定模式名称,并且不存在 TEMP 关键字,则在主数据库中创建 VIEW。

您不能DELETEINSERTUPDATE视图。SQLite 中的视图是只读的。但是,在许多情况下,您可以在视图上使用 INSTEAD OF 触发器来完成同样的事情。使用DROP VIEW命令删除视图。

如果column-name列表跟在view-name之后,则该列表确定视图的列名称。如果省略列名 列表,则视图中列的名称派生自select-stmt中结果集列的名称。建议使用列名列表。或者,如果 省略列名列表,则定义视图的SELECT语句中的结果列应使用“ AS 列别名”具有明确定义的名称" 语法。SQLite 允许您创建依赖于自动生成的列名的视图,但您应该避免使用它们,因为用于生成列名的规则不是接口的定义部分,并且可能会在 SQLite 的未来版本中发生变化。

SQLite 版本 3.9.0 (2015-10-14) 中添加了列列表语法。