与其他 RDBMS 一样,视图元数据在视图创建时存储。
来自CREATE VIEW
MySQL文档
视图定义在创建时被“冻结”,因此之后对基础表的更改 [原文如此] 不会影响视图定义。
与其他 RDBMS 不同,我看不到干净地刷新此视图元数据的方法:
- SQL 服务器:
EXEC sp_refreshview 'MyView'
- 甲骨文:
ALTER VIEW MyView COMPILE
这里的系统似乎是使用 DROP/CREATE “手动执行此操作”,这不是我的风格。执行此手动过程的通常人群正在休假,所以这周由我负责。
我也没有要提名的奴才:所以请提供任何解决方案...
要查看视图的定义,请运行以下命令之一:
SHOW CREATE VIEW viewname\G
SELECT * from information_schema.views where table_name='viewname'\G
这是一个简单的例子:
无论您选择哪种方法,您都可以清楚地看到构成视图的查询。您可以使用显示的任何内容来雕刻CREATE OR REPLACE VIEW 。
希望这会有所帮助,欢迎来到 DBA MinionExchange !!!