Sql server 使用SELECT语句时返回无效的对象错误

Sql server 使用SELECT语句时返回无效的对象错误,sql-server,sql-server-2012,Sql Server,Sql Server 2012,尝试从jREwardToysRUs数据库的“jREwardToysRUs.dbo.MailDetail_198”表中选择时,出现以下错误: 无效的对象名称“jREwardToysRUs.dbo.MailDetail_198” 如下图所示: select top 10 * from jREwardToysRUs.dbo.MailDetail_198 但是给出[],错误就消失了。比如: select top 10 * from [jREwardToysRUs.dbo.MailDetail_198]

尝试从jREwardToysRUs数据库的“jREwardToysRUs.dbo.MailDetail_198”表中选择
时,出现以下错误:

无效的对象名称“jREwardToysRUs.dbo.MailDetail_198”

如下图所示:

select top 10 *
from jREwardToysRUs.dbo.MailDetail_198
但是给出[],错误就消失了。比如:

select top 10 *
from [jREwardToysRUs.dbo.MailDetail_198]

请建议。如何删除仅使用表名选择时的错误?

我认为您正在寻找“使用”关键字:


我试着读这个问题,现在我瞎了。@ErayBalkanli,现在你又能看见了!:)在SQL Server中引用对象时,需要分别引用每个对象。因此,当使用3部分命名约定时,
DatabaseName.SchemaName.TableName
将变成
[DatabaseName].[SchemaName].[TableName]
。如果将整个内容封装起来,查询分析器将在当前连接到的数据库中查找一个名为
'DatabaseName.SchemaName.TableName'
的数据库对象。不,整个jREwardToysRUs.dbo.MailDetail_198就是表名。因此,要在SQL中使用它,请用[Table Name]将它们括起来。如下所示:从[jREwardToysRUs.dbo.MailDetail_198]中选择前10个*
use [jREwardToysRUs]
go

select top 10 * 
from [dbo].[MailDetail_198]