从SQL Server检索具有架构名称的所有表和视图名称



从sql server检索所有表和视图名称及其模式名称的sql查询是什么。

这应该可以工作,尽管很容易找到:

SELECT 
*
FROM [INFORMATION_SCHEMA].[TABLES]
WHERE [TABLE_TYPE] IN('BASE TABLE', 'VIEW');

应该可以这样做:

SELECT '['+SCHEMA_NAME(schema_id)+'].['+name+']'
AS SchemaTable
FROM sys.tables

您可以使用Sys.ObjectsSys.Schemas作为

SELECT O.name ObjectName,
S.name SchemaName,
CASE O.type WHEN 'U' THEN 'TABLE'
WHEN 'V' THEN 'VIEW'
END ObjectType
FROM Sys.Objects O INNER JOIN Sys.Schemas S
ON O.schema_id = S.schema_id
WHERE O.type = 'U'
OR
O.type = 'V'
--    AND 
--    S.name = 'dbo' if you want a specific schema

以下是示例

最新更新