一尘不染

SQL Server-为系统对象返回SCHEMA

sql

在sysobjects上进行选择时,如何获取SCHEMA?

我正在修改一个名为 SearchObjectsForText 的存储过程,该存储过程仅返回名称,但我也想包含SCHEMA。

现在,它正在做类似的事情:

SELECT DISTINCT name
FROM sysobjects

我想知道需要连接哪些表才能为每个“名称”返回SCHEME。


阅读 155

收藏
2021-03-17

共1个答案

一尘不染

如果您的意思是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
2021-03-17