无效的对象名称 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'”

SQL 无效的对象名称“地址类型”

SQL 中的函数中的无效对象名称错误

C# LINQ to SQL 对象名称无效

SQL Server 触发器:在区分大小写的数据库中“插入”的对象名称无效

ExecuteSqlCommand 返回“无效的对象名称”错误