我的sql代码一直出现无效的对象名称错误。 (member_number, subscriber_policy_number
)带有错误消息的下划线。
代码本身运行良好且没有错误,为什么会发生这种情况?上面的代码都没有突出显示
update smmdmm.aid_data
set Member_Number = Subscriber_Policy_Number
where Member_Number in ('000000000','000000001')
答案 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)
可能有两个原因。
表名错误
Sol:验证表名并尝试执行
查询中的表名未提及数据库名称和模式名称
Sol:在SQL查询中提及数据库和模式名称。
例如:
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