2009-08-05 2 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 или REPLACE. Единственная база данных, которую я знаю, которая поддерживает этот синтаксис, - это Oracle, но я предполагаю, что есть другие.

Отбросьте вид и создать его с новым определением:

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

Да, SQL Server 2005 определенно не поддерживает эту функциональность - к моему огорчению. –

+1

yup, только что увидел, спасибо: Views доступны только для чтения в SQLite. http://www.sqlite.org/lang_createview.html –

+1

PostgreSQL имеет это тоже http://www.postgresql.org/docs/8.4/interactive/sql-createview.html – devio