用于区分表和视图的命令



是否有命令来确定给定的关系是table还是view

我使用的试错方法是:

SHOW CREATE VIEW table_name

如果是table,而不是view,我的数据库软件(DBeaver中的Presto)会给我一个错误:

关系table_name是一个table,而不是一个view

我认为此错误来自内部运行的类似命令以审查我的查询。如果是view,命令当然有效。

下面将显示有关所有可用表的信息表,包括哪些是 view s 和哪些是 table s:

SELECT * FROM information_schema.tables

有关更多详细信息,请参阅信息架构。

在 SQL Server 中,可以使用 Sys.Objects 中的"Type"列来区分表或视图。如果列 Type 中的值为"V",则它是一个视图,否则如果列 Type 中的值为"U",则它是一个表

要检查它是否是表,请使用以下查询

SELECT DISTINCT NAME, O.TYPE FROM SYS.OBJECTS O WHERE O.NAME LIKE 'Prefix%' AND O.TYPE='U'

要检查它是否是视图,请使用以下查询

SELECT DISTINCT NAME, O.TYPE FROM SYS.OBJECTS O WHERE O.NAME LIKE 'Prefix%' AND O.TYPE='V'

相关内容

  • 没有找到相关文章

最新更新