web-dev-qa-db-ja.com

存在しない場合は作成しますか?

MySQLまたはH2データベースでcreate view if not existsを使用する方法はありますか?

27
kumar kasimala

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と同じです。

20
Sachin R

通常の方法は、create or replaceを使用してビューを上書きすることです。

create or replace view YourView
as
select * from users
19
Andomar