MySQL或H2数据库中有create view if not exists
有什么办法吗?
答案 0 :(得分:18)
从MySQL 5.0参考手册的12.1.12. CREATE VIEW Syntax部分:
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]
如果给出了OR REPLACE子句,CREATE VIEW语句将创建一个新视图,或替换现有视图。这个语句是在MySQL 5.0.1中添加的。如果视图不存在,则CREATE OR REPLACE VIEW与CREATE VIEW相同。如果视图确实存在,则CREATE OR REPLACE VIEW与ALTER VIEW相同。
答案 1 :(得分:16)
通常的方法是使用create or replace
覆盖视图:
create or replace view YourView
as
select * from users
答案 2 :(得分:1)
在H2上,您可以在要创建的视图名称之前添加 IF NOT EXISTS 。 例如:
const myAction = () => (dispatch, getState) => {
// get state here and dispatch actions with it
const id = getState().modalId;
dispatch({
type: 'ANOTHER_ACTION',
modalId
});
}