gpt4 book ai didi

kotlin - 使用另一个列值 [Exposed Kotlin] 更新表列

转载 作者:行者123 更新时间:2023-12-05 05:56:06 26 4
gpt4 key购买 nike

公开版本:0.28.1

Kotlin 版本:1.5.0

数据库:PostgreSQL 9.4

您好,我是 Exposed ORM Framework 的新手。我需要用同一个表中的另一个列值更新一个表列值,这两个列类型是日期时间。在 PostgreSQL 上会是这样的:

update order_details set production_date = current_timestamp - registry_date 

如何在 Exposed ORM 上执行此操作?这是我的实体:

object OrderDetails : Table (name = "detalle_orden") {
val id = integer("id").autoIncrement("detalle_orden_id_seq")
val sellDetail = integer("detalle_venta").references(SellDetails.id)
val order = integer("orden")
val registryDate = datetime("fecha_registro")
val registryHour = varchar("hora_registro", 30).nullable()
val productionDate = datetime("fecha_produccion").nullable()
val productionHour = varchar("hora_produccion", 30).nullable()
val finishedDate = datetime("fecha_terminado").nullable()
val finishedHour = varchar("hora_terminado", 30).nullable()
val deliveryDate = datetime("fecha_entregado").nullable()
val deliveryHour = varchar("hora_entregado",30).nullable()
val observations = varchar("observaciones", 500)

override val primaryKey = PrimaryKey(id, name = "detalle_orden_pkey")
}

最佳答案

作为Tapac said in comments ,这个用例在 wiki 中:https://github.com/JetBrains/Exposed/wiki/DSL#update

OrderDetails.update({ OrderDetails.id eq 8 }) {
with(SqlExpressionBuilder) {
it.update(OrderDetails.productionDate, OrderDetails.registryDate + OffsetDateTime.now())
// or
it[OrderDetails.productionDate] = OrderDetails.registryDate + OffsetDateTime.now())
}
}

关于kotlin - 使用另一个列值 [Exposed Kotlin] 更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69302486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com