MySQL 5.7:Oracle的替代品';s";温度为;

MySQL 5.7:Oracle的替代品';s";温度为;,mysql,Mysql,我如何用MySQL写 with temp as (select id from examples JOIN examples2 ON ... ) UPDATE orders SET value = 0 WHERE orders.id IN (select id from temp) 设想一个巨大的子查询,其结果存储在temp中,然后用于进一步的查询和更新 在MySQL中,不支持使用temp。我怎样才能达到同样的结果 您可以为此使用存储过程。好吧,我有个嫌疑犯。。我想用一个生动的剧本。但是我需要

我如何用MySQL写

with temp as (select id from examples JOIN examples2 ON ... )
UPDATE orders SET value = 0 WHERE orders.id IN (select id from temp)
设想一个巨大的子查询,其结果存储在temp中,然后用于进一步的查询和更新


在MySQL中,不支持使用temp。我怎样才能达到同样的结果

您可以为此使用存储过程。好吧,我有个嫌疑犯。。我想用一个生动的剧本。但是我需要了解我是否可以定义一个表变量。我怀疑大多数cte可以相对容易地重写为一个非cte查询,但是除了在单独的步骤中创建一个临时表之外,没有一种通用的方法可以在所有情况下工作。在您的示例中,您可以直接将代码放入子查询中,但对于其他情况,您可能需要其他解决方案。最明显的是任何试图模拟的东西都会出现问题。我试过了,但它给出了一个错误。。我不明白为什么。。。