gpt4 book ai didi

sql - 如何多次使用不同的数据运行相同的sql

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:37 25 4
gpt4 key购买 nike

我必须根据表中 c1 列的特定值将一些数据更新到数据库中,现在我必须对 c1 的各种值做同样的事情,但我不能使用 if/else,因为有太多案例我想到了一个使用游标的解决方案,但我对它们没有太多经验(或任何关于这件事的经验)请帮助我。

我有:

  • TAB1
  • 值对列表(V1,V2)
  • 为列表运行的 SQL 语句

    UPDATE TAB1 SET C1=V2 where C1=V1

最佳答案

此操作不需要光标。如果您在表中有值对,只需使用:

UPDATE 
( SELECT t.C1, vp.V2
FROM
TAB1 t
JOIN
ValuePairs vp
ON t.C1 = vp.V1
) tmp
SET C1 = V2 ;

如果只是列表,可以使用派生表:

UPDATE 
( SELECT t.C1, vp.V2
FROM
TAB1 t
JOIN
( SELECT 1 V1, 2 V2 FROM dual
UNION ALL
SELECT 2, 3 FROM dual
-- ...

UNION ALL
SELECT 19, 23 FROM dual
) vp
ON t.C1 = vp.V1
) tmp
SET C1 = V2 ;

关于sql - 如何多次使用不同的数据运行相同的sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com