无效的对象名称 sql
Posted
技术标签:
【中文标题】无效的对象名称 sql【英文标题】:Invalid Object Name sql 【发布时间】:2014-07-07 22:35:20 【问题描述】:我的 sql 代码不断收到无效的对象名称错误。 (member_number, subscriber_policy_number
) 带有错误消息的下划线。
代码本身运行良好,没有错误,为什么会发生这种情况?上面的代码都没有突出显示
update smmdmm.aid_data
set Member_Number = Subscriber_Policy_Number
where Member_Number in ('000000000','000000001')
【问题讨论】:
哪个 DBMS?您在哪里看到这些错误? 假设 SSMS,您可能需要刷新智能感知缓存。 使用 sql server management studio 的关系型 dbms 尝试刷新智能感知缓存,但没有影响 在 SSMS 中遇到了同样的问题并刷新了 here 中提到的智能感知缓存。 【参考方案1】:确保您使用的是正确的数据库。它可能默认为“主”数据库,并且看起来您没有引用表的完整架构。
例如:[DatabaseName].[Schema].[TableName]
或 [Database1].[smmdmm].[aid_data]
希望这会有所帮助。
【讨论】:
谢谢。非常感谢您在本次讨论中留下这个答案。【参考方案2】:试试:
Edit -> IntelliSense -> Refresh Local Cache
【讨论】:
"Ctrl + Shift + r" 也是一个快捷方式。【参考方案3】:根据您收到的错误,我假设您使用的是 MSSQL。
在您的查询开始时尝试:
use [YOUR_DATABASE_NAME];
然后是您的查询。这对我有帮助。
【讨论】:
对于在正常工作过程中不使用数据库的开发人员来说非常简单。对我有用 - 谢谢。【参考方案4】:这对我有用:编辑 -> 智能感知 -> 刷新本地缓存
【讨论】:
【参考方案5】:可能有两个原因。
表名错误
Sol:验证表名并尝试执行
查询中的表名没有提到数据库名和模式名
Sol:在 SQL 查询中提及数据库和模式名称。
例如:
select * from MESQLDBM.dbo.Alert ([DatabaseName].[Schema].[TableName])
【讨论】:
【参考方案6】:就我而言,我错过了modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
【讨论】:
【参考方案7】:它发生在一个函数中,它是一个很久以前被删除的表
【讨论】:
【参考方案8】:我来到这个页面,因为每次我运行程序时都会遇到这个错误,无论如何我发现在设置中我的 SQL 字符串表名缺少下划线,应该如下; tbl_客户。
【讨论】:
这与问题有什么关系吗?【参考方案9】:我遇到了区分大小写的问题。以下是我的错误查询
SELECT * FROM [bccci$Biochemical View] AS ibv
这里"V"
- 表名最后部分的第一个字符是大写,但在实际表名中是小写。那是[bccci$Biochemical view]
。所以我的正确代码是
SELECT * FROM [bccci$Biochemical view] AS ibv
【讨论】:
以上是关于无效的对象名称 sql的主要内容,如果未能解决你的问题,请参考以下文章
使用临时表时 SQL Server 显示“无效的对象名称 '#temp'”