在sysobjects上进行选择时,如何获取SCHEMA?
我正在修改一个名为 SearchObjectsForText 的存储过程,该存储过程仅返回名称,但我也想包含SCHEMA。
现在,它正在做类似的事情:
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