代码之家  ›  专栏  ›  技术社区  ›  Joe R.

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

  •  2
  • Joe R.  · 技术社区  · 14 年前

    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;
    

    1 回复  |  直到 14 年前
        1
  •  4
  •   Amarghosh    14 年前

    你在试着 UPDATE transaction 并使用 SELECT MAX

    Subquery restrictions

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