如何将我在结果集中所做的更改转换为java中的sql查询



我比较2个结果集,我必须根据另一个结果集中的数据更新一个结果集。我可以使用updateRow(或insertrow,如果需要的话)轻松地做到这一点。但是我还需要生成sql查询(最好使用oracle语法)并添加到sql文件中,这使我可以选择稍后更新该文件。谁能告诉我一种优雅的做法?

不完全确定您要做什么,但我相信您正在寻找从另一个表更新一个表的数据,或插入丢失的数据到第一个表时,它是在第二个。最简单的方法是使用merge:

merge into t1
using t2
on (t2.id = t1.id)
when matched
then
    update
    set t1.col1 = t2.col1,
        t1.col2 = t2.col2,
        t1.col3 = t2.col3
when not matched
then 
    insert
    (t1.id, t1.col1, t1.col2, t1.col3)
    values
    (t2.id, t2.col1, t2.col2, t2.col3);

应该注意的是,t2可以用select语句替换,以防您的新数据没有以正确的格式存储在表中。

如果这不是你想要的,你可以澄清你的意思(当前数据和期望输出的一个例子将是理想的)。

相关内容

  • 没有找到相关文章

最新更新