下面的 SQL 似乎可以工作,但我想知道是否有更好的方法来编写它。我正在尝试选择具有特定名称的所有 View 和表。如果找到匹配项,则应该只有一个返回值。
SELECT DISTINCT name
FROM sys.tables
WHERE name = 'MyName'
UNION ALL
SELECT DISTINCT name
FROM sys.views
WHERE name = 'MyName'
最佳答案
还有另一个 View 可以帮助您 - 它是一个包含表和 View 的单个 View 。在性能方面,我的单表查询性能更好,尽管您只会在具有大量表的数据库上注意到。 为此,我修改了您的查询。
SELECT
DISTINCT NAME
FROM SYS.OBJECTS
WHERE TYPE IN ('U','V')
AND NAME= 'MYNAME'
U = 用户表
V = 查看
关于SQL Server : SELECT from sys. 表和 sys.views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46005426/