是否有命令来确定给定关系是 atable还是 a view?
我正在使用的试错法是:
SHOW CREATE VIEW table_name
如果它是 a table,而不是 a view,我的数据库软件(DBeaver 中的 Presto)会给我一个错误:
关系
table_name是一个table,不是一个view
我认为此错误来自内部运行的类似命令以审查我的查询。如果是view,则该命令当然有效。
在 SQL Server 中,您可以使用 Sys.Objects 中的“类型”列来区分表或视图。如果 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'