Есть ли способ create view if not exists в базе данных MySQL или H2?
create view if not exists
Из раздела 12.1.12. CREATE VIEW Синтаксис Справочного руководства по MySQL 5.0:
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]
Оператор CREATE VIEW создает новое представление или заменяет существующее представление, если задано предложение OR REPLACE. Это заявление было добавлено в MySQL 5.0.1. Если представление не существует, CREATE ORLES VIEW - то же самое, что CREATE VIEW. Если представление существует, то CREATE OR REPLACE VIEW совпадает с ALTER VIEW.
Обычный способ - переписать представление, используя create or replace:
create or replace
create or replace view YourView as select * from users