如何解决'在不可更新的查询上尝试更新操作'?

时间:2013-10-10 14:55:14

标签: sql-update sybase-iq

我正在研究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
  尝试对不可更新的查询进行更新操作

我无法找到我收到此错误的原因。是否有任何解决方案来修改查询。在互联网上搜索没有多大帮助。

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

2 个答案:

答案 0 :(得分:0)

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

link

答案 1 :(得分:0)

向下投票

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

  

sp_helptext'view_name'

  

sp_helptext'chece_name.view_name'