【问题标题】:how to resolve 'Update operation attempted on non-updatable query'?如何解决“在不可更新的查询上尝试更新操作”?
【发布时间】:2017-01-17 20:28:37
【问题描述】:

我正在使用 sybase-iq 服务器 Sybase IQ/15.4.0.3014

我有一个有效的查询来更新表的一个字段,如下所示

update  table1
set     a.field1= b.some_value
from    table1 a,
        table2 b
where   a.id = b.id

当我从 sql 会话执行它时,它工作正常。从高级应用程序调用它时,我收到上述查询的以下错误

SQL 异常代码为 7301
尝试对不可更新的查询进行更新操作

我无法找到我收到此错误的原因。有什么办法可以修改查询。在互联网上搜索并没有多大帮助。

有人遇到过这样的问题吗?

【问题讨论】:

  • 您可能想在sqlanywhere-forum.sybase.com 上提问。它是 SAP Sybase SQL Anywhere 的问答网站,它是 Sybase IQ 的支持引擎。
  • @Graeme 谢谢。在那里询问后将删除此帖子。
  • 这个更新是游标的一部分吗?
  • 在我的情况下这是一个视图..我忽略了..导致错误。

标签: sql-update sap-iq


【解决方案1】:

您尝试对隐式只读查询执行插入、更新或删除操作。您正在尝试更新系统表或无法以这种方式更改的表。

link

【讨论】:

    【解决方案2】:

    投反对票

    我建议仔细检查 table_name 实际上是一个表,而不是一个视图。如果是视图,可以用 sp_helptext 命令查看其定义,如

    sp_helptext 'view_name'

    sp_helptext 'schema_name.view_name'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2015-03-20
      相关资源
      最近更新 更多