【问题标题】:GORM executeUpdate queryGORM 执行更新查询
【发布时间】:2018-02-04 04:00:26
【问题描述】:

如何为以下 SQL 查询编写 GORM executeUpdate 查询

UPDATE student_marks sm SET
    sm.totalMarks = sm.theoryMarks + sm.homeAssignmentMarks
WHERE
    sm.homeAssignmentMarks IS NOT NULL
        AND sm.theoryMarks IS NOT NULL
            AND sm.theoryMarks = sm.totalMarks
                AND sm.examHeldIn = 6;

这里的 theoryMarks 和 homeAssignmentMarks 是字符串。

【问题讨论】:

    标签: grails hql grails-orm


    【解决方案1】:
    def map = [:]
    map.examHeldInt = 6
    
    StudentMarks.executeUpdate("""
        UPDATE StudentMarks sm SET
            sm.totalMarks = CAST(sm.theoryMarks AS int) + CAST(sm.homeAssignmentMarks AS int)
        WHERE
            sm.homeAssignmentMarks IS NOT NULL
                AND sm.theoryMarks IS NOT NULL
                    AND sm.theoryMarks = sm.totalMarks
                        AND sm.examHeldIn = :examHeldIn""", map)
    

    像上面这样你需要将字符串大小写为 int 以便能够添加它们查找强制转换和连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2014-11-07
      • 2012-09-01
      • 2013-04-18
      • 2018-05-08
      相关资源
      最近更新 更多