2009-08-05 4 views
7

Cercando di aggiornare un table view utilizzando:CREARE O SOSTITUIRE VISTA errore sql

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

La tabella sta tornando la vecchia vista, non è aggiornato.

Dichiarazione testato nel browser database SQLite:

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

ma non ha ottenuto questo nel programma?

Qualche idea sul perché non si sta aggiornando?

risposta

18

SQLite non supporta la sintassi CREATE OR REPLACE. L'unico database che conosco che supporti quella sintassi è Oracle, ma credo che ce ne siano altri.

cancellare la vista e creare con la nuova definizione:

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

Sì, SQL Server 2005 sicuramente non supporta tale funzionalità, con mio dispiacere. –

+1

sì, l'ho visto, grazie: le viste sono di sola lettura in SQLite. http://www.sqlite.org/lang_createview.html –

+1

PostgreSQL ha anche http://www.postgresql.org/docs/8.4/interactive/sql-createview.html – devio