..和。之间的语法差异。在sysobjects

时间:2016-05-03 09:29:30

标签: sql-server

我在SQL Server中看到过类似的东西(对master数据库运行此查询):

select * from tempdb..sysobjects

似乎返回完全相同的结果:

select * from tempdb.sys.objects

我已经看到双点可以用作a way to omit the schema name但是我没有看到任何遗漏,按照那个逻辑然后tempdb..objects将是有效的而不是)。

1 个答案:

答案 0 :(得分:3)

tempdb..objects将被解释为tempdb.dbo.objects

两者都是两个不同的系统views

sys.objects

  

包含每个用户定义的架构范围对象的行   在数据库中创建,包括本机编译的标量   用户定义的函数。

sys.sysobjects

  

为数据库中创建的每个对象包含一行,   例如约束,默认,日志,规则和存储过程

注意:此SQL Server 2000系统表作为向后兼容性的视图包含在内。我们建议您使用当前的SQL Server系统视图。要查找等效的系统视图或视图,请参阅将系统表映射到系统视图(Transact-SQL)。将在Microsoft SQL Server的未来版本中删除此功能。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

相关问题