在 sysobjects 上进行选择时如何获取架构?
我正在修改一个名为 SearchObjectsForText 的存储过程,它仅返回名称,但我还想包含架构。
现在它正在做类似的事情:
SELECT DISTINCT name
FROM sysobjects
我想知道需要连接哪些表才能返回每个“名称”的 SCHEME。
最佳答案
如果您指的是 SQL Server 2005 或更高版本,请使用 sys.objects 而不是 sysobjects:
SELECT sys.objects.name, sys.schemas.name AS schema_name
FROM sys.objects
INNER JOIN sys.schemas ON sys.objects.schema_id = sys.schemas.schema_id
2005 年引入了模式。到 2000 年,用户等于模式。 SQL Server 2000 的相同查询:
SELECT sysusers.name AS OwnerName, sysobjects.name
FROM sysobjects
INNER JOIN sysusers ON sysobjects.uid = sysusers.uid
关于SQL Server - 返回 sysobjects 的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/917431/