2009-08-05 104 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