基于 Access 中保存的 SELECT 查询的 UPDATE 查询?

Posted

技术标签:

【中文标题】基于 Access 中保存的 SELECT 查询的 UPDATE 查询?【英文标题】:UPDATE query based on a saved SELECT query in Access? 【发布时间】:2014-01-20 10:59:54 【问题描述】:

使用 UPDATE 查询,是否可以引用存储的选择查询?

我想完成这样的事情:

UPDATE ... WHERE ... IN [MY_STORED_PROCEDURE]

【问题讨论】:

【参考方案1】:

也许在这几行:

UPDATE ...
WHERE ID IN (SELECT ID FROM MyStoredProc)

根据您的设置,也可以加入。您可以将存储的查询添加到查询设计窗口,但您并不总是会得到可更新的查询,这通常取决于您的索引。

【讨论】:

怎么样?它如何依赖于索引?正如你所说,我让它工作了,但即使查询 SELECT id FROM MyStoredProc 工作正常,也没有任何更新。 使用连接的可更新查询可能取决于是否存在唯一索引。尝试使用表上的连接和保存查询创建查询,查看是否返回任何记录以检查是否有任何要更新的内容。 我明白了。但接缝更有可能在使用连接时遇到麻烦。你知道为什么'SELECT id FROM MyStoredProc'工作(返回3行)但如果我把它放入'UPDATE .. WHERE id IN(SELECT id FROM MyStoredProc)'(更新0行)?跨度> 当您使用实际 id 进行更新时会发生什么?即 ID IN (1,2,3) ?您确定有要更新的行吗? 也就是说,你确定id匹配吗?

以上是关于基于 Access 中保存的 SELECT 查询的 UPDATE 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MS-Access 选择查询的结果保存在 C#.net 中的变量中?

access数据库查询2个时间段间的数据

Access select where 数据库查询 多表联合查询

SELECT 查询中的 MS Access“此记录集不可更新”

Ms access Select 带有限制选项的查询

急急急!access 数据库对两个表关联count