为了账号安全,请及时绑定邮箱和手机立即绑定

使用空手道 dsl 仅提取值而不提取 SQL 中的列名

使用空手道 dsl 仅提取值而不提取 SQL 中的列名

萧十郎 2023-06-14 10:39:50
我在我的测试场景中使用空手道来满足通过传递计划 ID 来更新合同计划的要求,我正在从数据库中检索 planId 并将其传递给我的请求 json。但是我面临的问题是列名,而我只需要值。下面是我如何通过连接到数据库来获取我的 Id 的示例`@Scenario1 场景:使用 jdbc 验证def config = { 用户名:'mmultapp',密码:'Mmu1t@pp',url:'jdbc:db2://edb2dev3.momentum.co.za:60022/MMULTTST',driverClassName:'com.ibm.db2.jcc .DB2Driver'}def DbUtils = Java.type('wellness_core_utils.DbUtils')def db = new DbUtils(配置)def productId = db.readRows('select PRODUCT_ID from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only')打印产品编号`我以这种方式得到结果{    "PRODUCT_ID": 68  }我只需要读取 68 的值,这样我就可以将它传递给我的 json 请求提前致谢
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

查询返回一个你在查询中写的键值对,假设你写

select PRODUCT_ID AS pId from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only;

所以它返回一个PRODUCT_ID名称为pId. 稍后,您可以根据需要使用该结果

让我们在您的实例中尝试一下。

def productId = db.readRows('select PRODUCT_ID from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only').PRODUCT_ID; 
const result =  productId.PRODUCT_ID;

注意:请检查您的查询结果的第一种类型 Like It's in[]{} In above instance I consider it in{}


const result = [{ PRODUCT_ID: 87 }]; 
console.log(result[0].PRODUCT_ID);


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信