如何判断mysql 中视图是否存在?

明明视图是存在的,为什么用
select count(information_schema.VIEWS.TABLE_SCHEMA)
from information_schema.VIEWS
where information_schema.VIEWS.TABLE_NAME=视图名称and (information_schema.VIEWS.TABLE_SCHEMA=数据库名称);这种方式查询结果为0?

可以通过select查询视图的方式,来判断视图是否存在。

--1.假设现在新建一个视图
create or replace force view test_view as
select * from dept;

--2.通过count(1)查出来的是,该视图中记录的总条数
select count(1) from test_view;

--3.如果要判断该视图是否存在,直接查看该视图中的内容即可

select * from test_view;

-- 如果有字段等内容,说明视图是存在的。反之,无法成功编译,因为视图不存在。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-10
你的视图名称是不是大写的?
你可以试试
select count(information_schema.VIEWS.TABLE_SCHEMA)
from information_schema.VIEWS
where (information_schema.VIEWS.TABLE_SCHEMA=数据库名称); 看看这个库下面到底有没有那个视图本回答被提问者和网友采纳
第2个回答  推荐于2016-09-16

1、通过检查数据库查询视图是否存在

if exists (select * from sysobjects where name= '视图名称') 
begin 
---视图存在则执行此处语句
end 
else
begin
--不存在则执行此处语句
end


2、可视化操作查看视图

登录MySQL,找到数据库,点开其下的视图,在展开的列表中查看是否存在要判断的视图

第3个回答  2015-11-24
select count(information_schema.VIEWS.TABLE_SCHEMA) from information_schema.VIEWS where (information_schema.VIEWS.TABLE_SCHEMA=数据库名称); 看看这个库下面到底有没有那个视图
第4个回答  2015-11-06
sysobjects系统表存储已有 表,存储过程,试图等..

xtype =v代表试图
http://baike.baidu.com/link?url=5A-E_sEQ_wdEUZONUje8vbNvyaqvx-9Uh9TGzWo99avISRbzp5FQ3XJ4a6mbuEFj0umCRRY2_1r7gyzFT5lAV_
相似回答