无效的对象名称sql

时间:2014-07-07 22:35:21

标签: sql sql-server ssms

我的sql代码一直出现无效的对象名称错误。 (member_number, subscriber_policy_number)带有错误消息的下划线。

代码本身运行良好且没有错误,为什么会发生这种情况?上面的代码都没有突出显示

update smmdmm.aid_data
set Member_Number = Subscriber_Policy_Number
where Member_Number in ('000000000','000000001')

9 个答案:

答案 0 :(得分:28)

确保您使用的是正确的数据库。它可能是默认的" Master"数据库,看起来你没有引用表的完整模式。

例如:[DatabaseName].[Schema].[TableName][Database1].[smmdmm].[aid_data]

希望这有帮助。

答案 1 :(得分:18)

尝试:

Edit -> IntelliSense -> Refresh Local Cache

答案 2 :(得分:11)

根据您收到的错误,我假设您正在使用MSSQL。

在查询开始时

尝试:

use [YOUR_DATABASE_NAME];

然后是您的查询。它对我有帮助。

答案 3 :(得分:2)

可能有两个原因。

  1. 表名错误

    Sol:验证表名并尝试执行

  2. 查询中的表名未提及数据库名称和模式名称

    Sol:在SQL查询中提及数据库和模式名称。

  3. 例如:

    select * from MESQLDBM.dbo.Alert ([DatabaseName].[Schema].[TableName])
    

答案 4 :(得分:1)

就我而言,我错过了modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

答案 5 :(得分:1)

这对我有用:编辑 - &gt;智能感知 - &gt;刷新本地缓存

答案 6 :(得分:0)

在一个函数中发生了这件事,而且很久以前它就是一张桌子了

答案 7 :(得分:0)

我来到这个页面,因为每次运行程序时都会出现此错误,无论如何我发现在设置中我的SQL字符串表名称缺少下划线,应该如下所示; tbl_Customer。

答案 8 :(得分:0)

我遇到了区分大小写的问题。以下是我的错误查询

SELECT * FROM [bccci$Biochemical View] AS ibv 

此处"V"-表名最后部分的第一个字符为大写,但在实际表名中为小写。即[bccci$Biochemical view]。所以我的正确代码是

SELECT * FROM [bccci$Biochemical view] AS ibv