小编典典

错误360:无法修改子查询中使用的表或视图

sql

INFORMIX-SE 7.32:

尝试执行以下语句时出现错误360:

update transaction
   set transaction.colx = (select tab1.cola from tab1)
 where transaction.num  = (select max(transaction.num) from transaction)
   and transaction.colx IS NULL;

有任何想法吗?


阅读 129

收藏
2021-04-14

共1个答案

小编典典

您正在尝试UPDATE对该表transaction进行读取,并使用SELECT MAX同一查询从同一表中读取数据。你不能这样做。

子查询限制

通常,您不能修改表并在子查询中从同一表中选择。例如,此限制适用于以下形式的语句:
DELETE FROM t WHERE ... (SELECT ... FROM t ...);
UPDATE t ... WHERE col = (SELECT ... FROM t ...);
{INSERT|REPLACE} INTO t (SELECT ... FROM t ...);

2021-04-14