C'è un modo per create view if not exists
nel database MySQL o H2?crea se non esiste la vista?
risposta
Dalla sezione 12.1.12. CREATE VIEW Syntax del MySQL Manual 5.0 Riferimento:
CREATE VIEW Syntax
CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
L'istruzione CREATE VIEW crea una nuova vista, o sostituisce uno esistente se viene fornita la clausola OR REPLACE. Questa affermazione è stata aggiunta in MySQL 5.0.1. Se la vista non esiste, CREATE O REPLACE VIEW è uguale a CREATE VIEW. Se la vista esiste, CREATE O REPLACE VIEW è la stessa di ALTER VIEW.
Il solito modo è quello di sovrascrivere una vista utilizzando create or replace
:
create or replace view YourView
as
select * from users
Questo ha funzionato bene per me in MySQL. L'altra risposta non è –
Ma, se una vista esistente viene sostituita, le sue viste dipendenti non diventano invalide? Ecco perché è necessario testare l'esistenza di una vista. – flymike
Non capisci come creare un collegamento? Questo è stato copiato/incollato dal [manuale di riferimento MySQL] (http://dev.mysql.com/doc/refman/5.0/en/create-view.html). Sto trovando troppe risposte copiate/incollate direttamente da altri siti senza alcun tentativo di attribuzione. –
Questo risponde parzialmente alla domanda; Come lo fai in H2? –