sql - Groovy JDBC:如何使用准备好的语句更新表,其中在更新字段之前必须满足条件
问题描述
我正在尝试使用准备好的语句更新 SQL 中的表,是否需要将字段设置为特定值。这就是我所拥有的:
String sqlString = """UPDATE TIDCNMST
SET EDI_OBJECT_MODE = 'E'
AND SET EDI_STATUS = 'N'
WHERE CONTRACT_STATUS = ?"""
PreparedStatement pstmt = extensionContext.createPreparedStatement(sqlString)
pstmt.setObject(1, contractStatus, OracleTypes.FIXED_CHAR)
pstmt.executeUpdate()
其中 TIDCNMST 是表名,EDI_OBJECT_MODE 和 EDI_STATUS 是需要更新的字段,CONTRACT_STATUS 是包含字段更新前需要满足的必要条件的字段。例如,必须将合同设置为“已取消”,以便将 EDI_OBJECT_MODE 设置为“E”或“启用”,然后将 EDI_STATUS 设置为“N”,以便供应商不会收到 EDI (电子数据交换)。检查状态的功能是 = if (userAction.contains("O06") && (contractStatus != "PENDING" && contractStatus != "APPROVED")){ checkForValidationError(extensionContext, thisPanelState, logger) }
。有什么想法吗?提前致谢。
解决方案
推荐阅读
- r - 如何通过循环动态复制列表
- amazon-web-services - 使用 AWS 网络 ACL 与 SG 进行访问控制?
- java - 使用带有 Java Servlet 的 Apache poi 找不到 PackagePropertiesMarshaller$NamespaceImpl
- python - Tensorflow 对象检测 NewRandomAccessFile 无法创建/打开
- vue.js - vuex 能否与不引用“状态”的通用突变一起正常工作?
- python - 这实际上对变量做了什么
- qt - 这是 QML 中最小可行的 TreeView 模型吗?
- javascript - 使用 JS 使空容器与具有子图像的不同容器大小相同
- php - PHP MAIL:我的一个变量发送一个“假”值
- apache-spark - 将 Dataframe 写入 HDFS 路径时出错