【发布时间】:2017-10-16 06:46:17
【问题描述】:
是否有命令来确定给定关系是table 还是view?
我使用的试错法是这样做的:
SHOW CREATE VIEW table_name
如果是table,而不是view,我的数据库软件(DBeaver 中的 Presto)会给我一个错误:
关系
table_name是table,而不是view
我认为此错误来自内部运行的类似命令以检查我的查询。如果是view,则该命令当然有效。
【问题讨论】:
-
如果您使用的是
SHOW CREATE ..,那么您正在针对特定的数据库引擎 - 即非标准 SQL -
查询元数据的标准方法是Information Schema。 your 数据库系统是否实现它我不能说。另外,请注意,您不应该尽可能区分表和视图。您应该能够用视图替换表(反之亦然)并且不会使现有代码无效。