DB2 SQL错误:SQLCODE = -104,SQLSTATE = 42601,SQLERRMC =?;在年度月份月份时,驱动程序= 3.64.82

发布于 2025-01-31 07:43:00 字数 1615 浏览 2 评论 0原文

我的代码看起来像这样:

addToTable2(ObjectDTO objectDTO) {
   def sql = sql.execute(
    """INSERT INTO SCHEMA.TABLE2 (
        COLUMN1,
        COLUMN2,
        COLUMN3 )
        VALUES (
         ${objectDTO.property1}
         ${objectDTO.property2}
         ${objectDTO.property3})""")
}



ArrayList<ObjectDTO> fetchValuesFromTable1() throws CollectionsException {

    ArrayList<ObjectDTO> fetchValues= new ArrayList<ObjectDTO>()
    def sql = """
        SELECT *
        FROM SCHEMA.TABLE1
        ORDER BY DATE DESC FETCH FIRST 1 ROW ONLY"""

    try {
      if(this.sql != null) {
        this.sql.eachRow(sql) {
          resultSet ->
            ObjectDTO objectDTO = new ObjectDTO()
            objectDTO.setProperty1(resultSet.PROPERTY1)
            objectDTO.setProperty2(resultSet.PROPERTY2)
            objectDTO.setPropety3(resultSet.PROPERTY3)
      
             objectList.add(poulSifr)
           }
         }

      for(ObjectDTO objectDTO: objectList) {
        addToTable2(objectDTO)
      }

    } catch (SQLException se) {
      log.info "fetchValues error $se.message  executed sql: $sql"
       throw new CollectionsException("fetchValues message $se.message")
    } finally {
      if (this.sql != null) {
        this.sql.close()
      }
    }
    objectList
  } 

我得到了此错误/警告:

警告groovy.sql.sql-无法执行:插入架构。 第1栏, 第2列, 第3列) 值( ?,, ?,, null)

因为:db2 sql错误:sqlcode = -104,sqlstate = 42601,sqlerrmc = ?; at 年份每月每小时小时小时分钟,分钟, 驱动程序= 3.64.82

,每当我从表1中获取最后一个值时,我都需要将其放在表2中。我不知道这种正确的方法是这样做的,或者我做的完全错误。

My code is looking like this:

addToTable2(ObjectDTO objectDTO) {
   def sql = sql.execute(
    """INSERT INTO SCHEMA.TABLE2 (
        COLUMN1,
        COLUMN2,
        COLUMN3 )
        VALUES (
         ${objectDTO.property1}
         ${objectDTO.property2}
         ${objectDTO.property3})""")
}



ArrayList<ObjectDTO> fetchValuesFromTable1() throws CollectionsException {

    ArrayList<ObjectDTO> fetchValues= new ArrayList<ObjectDTO>()
    def sql = """
        SELECT *
        FROM SCHEMA.TABLE1
        ORDER BY DATE DESC FETCH FIRST 1 ROW ONLY"""

    try {
      if(this.sql != null) {
        this.sql.eachRow(sql) {
          resultSet ->
            ObjectDTO objectDTO = new ObjectDTO()
            objectDTO.setProperty1(resultSet.PROPERTY1)
            objectDTO.setProperty2(resultSet.PROPERTY2)
            objectDTO.setPropety3(resultSet.PROPERTY3)
      
             objectList.add(poulSifr)
           }
         }

      for(ObjectDTO objectDTO: objectList) {
        addToTable2(objectDTO)
      }

    } catch (SQLException se) {
      log.info "fetchValues error $se.message  executed sql: $sql"
       throw new CollectionsException("fetchValues message $se.message")
    } finally {
      if (this.sql != null) {
        this.sql.close()
      }
    }
    objectList
  } 

I got this error/warning:

WARN groovy.sql.Sql - Failed to execute: INSERT INTO SCHEMA.TABLE (
COLUMN1,
COLUMN2,
COLUMN3 )
VALUES (
?,
?,
null)

because: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=?;AT
YEAR YEARS MONTH MONTHS DAY DAYS HOUR HOURS MINUTE MINUTES,
DRIVER=3.64.82

Whenever I fetch last value from Table1 I need to put that in Table2. I don't know is this proper way to do it or I'm doing something completely wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墟烟 2025-02-07 07:43:00

您在value(...)插入的一部分中缺少逗号

you have missing commas in VALUES(...) part of insert

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文