gpt4 book ai didi

java - 将数据从一个表移动到另一个类似表

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:26 25 4
gpt4 key购买 nike

我通常会尝试避免使用游标和循环遍历结果集,但是在以下场景中如何实现这一点而不循环遍历 SomeTable 并将行逐一插入到 MyTable 中?

简单架构如下:

MyTable
- Name VARCHAR(20)
- Code1 CHAR(5)
- Code2 CHAR(5)

SomeTable
- Name VARCHAR(20)
- SomeCode1 CHAR(10)
- SomeCode2 CHAR(10)

SQL语句:

INSERT INTO MyTable (Name, Code1, Code2)
SELECT Name, First Five Chars of SomeCode1 Only if SomeCode2 is not null or empty or doesn't have a certain value, SomeCode2
FROM SomeTable

我正在 Java 代码中执行此操作,但我不确定是否可以在整个 INSERT INTO SELECT 语句中执行此操作。我几乎即将编写一个包含单个 INSERT 语句的 for 循环。我应该在数据库中创建某种函数还是......?我正在使用 DB2。

最佳答案

INSERT INTO MyTable (Name, Code1, Code2)
SELECT Name,
CASE When coalesce(SomeCode2, '')='' Then NULL
When SomeCode2=@somevalue Then NULL
Else substring(SomeCode1, 1, 5)
, SomeCode2
FROM SomeTable

关于java - 将数据从一个表移动到另一个类似表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874933/

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