1. 語法
create-view-stmt
select-stmt
common-table-expression
compound-operator
expr
filter-clause
function-arguments
literal-value
over-clause
frame-spec
raise-function
type-name
signed-number
join-clause
join-constraint
join-operator
ordering-term
result-column
table-or-subquery
window-defn
frame-spec
2. 說明
CREATE VIEW 指令會將名稱指定給預先封裝的 SELECT 陳述式。建立檢視後,可以在另一個 SELECT 的 FROM 子句中使用檢視,取代資料表名稱。
如果「TEMP」或「TEMPORARY」關鍵字出現在「CREATE」和「VIEW」之間,則建立的檢視只會對建立它的 資料庫連線 可見,而且會在資料庫連線關閉時自動刪除。
如果指定了 schema-name,則會在指定的資料庫中建立檢視。在 VIEW 上同時指定 schema-name 和 TEMP 關鍵字是錯誤的,除非 schema-name 是「temp」。如果未指定 schema 名稱,而且 TEMP 關鍵字不存在,則會在主資料庫中建立 VIEW。
您無法 DELETE、INSERT 或 UPDATE 檢視。在 SQLite 中,檢視是唯讀的。不過,在許多情況下,您可以在檢視上使用 INSTEAD OF 觸發器 來達成相同的效果。檢視會使用 DROP VIEW 指令移除。
如果 column-name 清單在 view-name 之後,則該清單會決定檢視的欄位名稱。如果省略 column-name 清單,則檢視中欄位的名稱會從 select-stmt 中的結果集欄位名稱衍生而來。建議使用 column-name 清單。或者,如果省略 column-name 清單,則定義檢視的 SELECT 陳述式中的結果欄位應該使用「AS column-alias」語法,並有明確定義的名稱。SQLite 允許您建立依賴自動產生的欄位名稱的檢視,但您應該避免使用它們,因為用於產生欄位名稱的規則並非介面的定義部分,而且可能會在 SQLite 的未來版本中變更。
column-name 清單語法已新增至 SQLite 版本 3.9.0 (2015-10-14)。
此頁面最後修改於 2022-01-08 05:02:57 UTC