2009-08-05 14 views
7

Versuch REPLACE eine table view mit aktualisieren:CREATE OR VIEW SQL-Fehler

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

Die Tabelle, die die alte Ansicht zurückkehrt, nicht die aktualisiert.

Statement in dem SQLite-Datenbank-Browser getestet:

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

aber habe das nicht im Programm?

Eine Idee, warum es nicht aktualisiert wird?

Antwort

18

SQLite unterstützt die CREATE OR REPLACE-Syntax nicht. Die einzige Datenbank, die ich kenne, die diese Syntax unterstützt, ist Oracle, aber ich vermute, es gibt andere.

die Ansicht löschen und mit der neuen Definition erstellen:

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

Ja, SQL Server 2005 unterstützt definitiv nicht diese Funktionalität - sehr zu meinem Leidwesen. –

+1

yup, habe gerade gesehen, danke: Ansichten sind schreibgeschützt in SQLite. http://www.sqlite.org/lang_createview.html –

+1

PostgreSQL hat es auch http://www.postgresql.org/docs/8.4/interactive/sql-createview.html – devio

Verwandte Themen