在MySQL或H2数据库中,是否有办法使用create view if not exists
创建视图?
来自 MySQL 5.0 参考手册的第12.1.12节CREATE VIEW语法:
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 OR REPLACE VIEW与CREATE VIEW相同。如果视图存在,则CREATE OR REPLACE VIEW等同于ALTER VIEW。
通常的方式是使用create or replace
覆盖一个视图:
create or replace view YourView
as
select * from users
create or alter view YourView as ...
。 - sports在 H2 中,您可以在要创建的视图名称之前添加 IF NOT EXISTS。
例如:CREATE VIEW IF NOT EXISTS viewExampleName (column1, column2)
AS (
SELECT column1, column2
FROM example_table
);
IF NOT EXISTS
的地方。 - petrch