How can I check if a View exists in a Database?

前端 未结 10 1697
无人共我
无人共我 2021-01-31 07:00

I have some SQL code that needs to be executed if a certain View exists in a database. How would I go about checking if the View exists?

EDIT: The DBMS being used is Mic

10条回答
  •  长发绾君心
    2021-01-31 07:29

    This is the most portable, least intrusive way:

    select
        count(*)
    from
        INFORMATION_SCHEMA.VIEWS
    where
        table_name = 'MyView'
        and table_schema = 'MySchema'
    

    Edit: This does work on SQL Server, and it doesn't require you joining to sys.schemas to get the schema of the view. This is less important if everything is dbo, but if you're making good use of schemas, then you should keep that in mind.

    Each RDBMS has their own little way of checking metadata like this, but information_schema is actually ANSI, and I think Oracle and apparently SQLite are the only ones that don't support it in some fashion.

提交回复
热议问题