2009-08-05 82 views
7

嘗試一個table view使用更新:CREATE OR REPLACE VIEW SQL錯誤

CREATE OR REPLACE VIEW [vtable] AS SELECT * FROM Files_Table ORDER BY File 

該表返回舊觀點,而不是更新。

聲明在SQLite數據庫瀏覽器測試:

Error message from database engine: near "OR": syntax error 

,但在節目中並沒有得到這個?

任何想法爲什麼它不更新?

回答

18

SQLite不支持CREATE OR REPLACE語法。我知道支持該語法的唯一數據庫是Oracle,但我猜測還有其他的。

刪除的視圖,並在新的定義創建:

DROP VIEW IF EXISTS [vtable]; -- "OR REPLACE" 
CREATE VIEW [vtable] AS SELECT * FROM Files_Table ORDER BY File; 
+0

是的,SQL Server 2005絕對不支持該功能 - 很讓我懊惱。 – 2009-08-05 22:05:54

+1

是的,剛剛看到,謝謝:視圖在SQLite中是隻讀的。 http://www.sqlite.org/lang_createview.html – 2009-08-05 22:18:13

+1

PostgreSQL也有它http://www.postgresql.org/docs/8.4/interactive/sql-createview.html – devio 2009-08-05 22:21:08