【发布时间】:2012-10-13 06:09:14
【问题描述】:
我希望我的 mysql 服务器删除数据库中的所有视图。我已经为存储过程创建了一个事件:
开始
DECLARE done INT DEFAULT FALSE;
DECLARE VIEW_NAME CHAR(255);
DECLARE VIEW_NAMES CURSOR FOR SELECT table_name FROM information_schema.views;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN VIEW_NAMES;
read_loop: LOOP
FETCH VIEW_NAMES INTO VIEW_NAME;
IF done THEN
LEAVE read_loop;
END IF;
DROP VIEW VIEW_NAME;
END LOOP;
CLOSE VIEW_NAMES;
结束
但是,此过程会产生以下错误:
错误代码:1051。未知表'view_name'
我的猜测是我的 fetch 语句由于某种原因没有获取。所以我检查了 select 语句,它确实有一个结果集。关于如何解决错误或如何将所有视图删除到 mysql 数据库中的任何想法?
【问题讨论】:
-
我为什么要检查?
标签: mysql stored-procedures sql-view