复制字段的正确方法';使用groovy将数据转换为同一表中的另一个字段

复制字段的正确方法';使用groovy将数据转换为同一表中的另一个字段,groovy,Groovy,我正在编写第一个groovy脚本来更新整个数据库表。基本上,我想把这个数字作为ID字段放到另一个ID字段中 import groovy.sql.Sql def url = project.getProperty("database.url") def driver = project.getProperty("database.driver") def user = project.getProperty("database.user") def pass = project.getProp

我正在编写第一个groovy脚本来更新整个数据库表。基本上,我想把这个数字作为ID字段放到另一个ID字段中

 import groovy.sql.Sql

def url = project.getProperty("database.url")
def driver = project.getProperty("database.driver")
def user = project.getProperty("database.user")
def pass = project.getProperty("database.pass")
def output = properties['output']
def sql = Sql.newInstance(url, user, pass, driver)
def outwriter = new PrintWriter(output)

sql.eachRow("select * from THE_TABLE", { row ->
    def id = row.id
    outwriter.println "Update THE_TABLE set (ANOTHER_ID)=(${id});"
} );

outwriter.close()
sql.close()
我发帖是为了确保我做得正确,或者是否有更好的方法更新我的表格


干杯

您生成的SQL有问题,应该是:

outwriter.println "UPDATE THE_TABLE SET ANOTHER_ID = ${row.id} WHERE id = ${row.id} ;"
但是,您可以将整个循环和所有内容替换为

outwriter.println "UPDATE THE_TABLE SET ANOTHER_ID = id ;"
它将在单个查询中设置每一行,而不需要每行更新