Ger*_*iss 29 sql t-sql sql-server
如何在sysobjects上进行选择时获得SCHEMA?
我正在修改一个名为SearchObjectsForText的存储过程,它只返回Name,但我还想包含SCHEMA.
现在它正在做类似的事情:
SELECT DISTINCT name
FROM sysobjects
Run Code Online (Sandbox Code Playgroud)
我想知道需要加入哪些表来为每个'name'返回SCHEME.
dev*_*vio 57
如果您指的是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
Run Code Online (Sandbox Code Playgroud)
2005年推出了模式.高达2000,用户等于架构.SQL Server 2000的相同查询:
SELECT sysusers.name AS OwnerName, sysobjects.name
FROM sysobjects
INNER JOIN sysusers ON sysobjects.uid = sysusers.uid
Run Code Online (Sandbox Code Playgroud)
小智 14
在Sql Server 2005(及更高版本)上,您可以使用sys.objects视图:
select
name as ObjectName,
schema_Name(schema_id) as SchemaName
from
sys.objects
Run Code Online (Sandbox Code Playgroud)
在Sql Server 2000(及以下版本)中,"schema"具有不同的概念含义.来自MSDN的说明:
在早期版本的SQL Server中,数据库可能包含一个称为"模式"的实体,但该实体实际上是一个数据库用户.SQL Server 2005是SQL Server的第一个版本,其中架构既是容器又是命名空间.
| 归档时间: |
|
| 查看次数: |
84687 次 |
| 最近记录: |