【发布时间】:2017-03-02 15:39:27
【问题描述】:
假设我们有 3 个视图:A、B 和 C。 A和B可以成功执行。 C不能成功执行。
我想创建一个 SQL 查询来检查它并给出输出:
- 查看已验证
- 好的
- B 好的
- C 不行
为了确定视图是否可运行,我更喜欢根据以下方式运行它们:EXPLAIN SELECT * FROM View_Name
原因是,例如SELECT COUNT(*) View_Name 太慢了。
我可以使用 SQL 创建预期的输出吗?在那种情况下怎么办? (我知道这可以使用例如 Python 来解决,但我不能将它用作此解决方案的一部分)
【问题讨论】:
-
您无法使用单个查询获得该结果。这通常在存储过程中完成,您在其中打开具有所有视图名称的游标,然后对每个视图运行
select 1 into declaredvariable from view where 1=0,而继续处理程序会捕获任何 object does not exist 错误。跨度>