gpt4 book ai didi

node.js - 如何使用 sequelize 传递 json 参数在 postgres 中调用存储过程

转载 作者:行者123 更新时间:2023-12-03 22:27:49 27 4
gpt4 key购买 nike

我是 postgresql 和 sequelize ORM 的新手。
我正在尝试调用一个将数据插入到表中的存储过程。

CREATE OR REPLACE FUNCTION public.sp_eoi(
obj json)
RETURNS void
LANGUAGE 'sql' AS $BODY$
INSERT INTO public."tbl_eoi" ("SE_CUST_ID", "SE_VENDOR_ID", "SE_VENUE_ID")
SELECT (rec->>'custId')::integer, (rec->>'vendorId')::integer, (rec->>'venueId')::integer FROM
json_array_elements(obj-> 'data')rec $BODY$;

从 Node 应用程序传递的 Json 输入
{ custId : 1, vendorId : 1, venueId : 1}

我调用proc
sequelize.query(
'call sp_eoi(:param)',
{replacements: { param: [ { custId:1 , vendorId: 1,venueId : 1 } ] }})
.spread(function(outputValue , records) {
console.log(records);
}).error(function(err){
res.json(err);
});

但始终存在“未处理的拒绝错误:无效值{custId:..}”的错误

我对此完全陌生,过去两天一直在努力寻找问题。
任何帮助将非常感激。

谢谢

最佳答案

聚会有点晚了……但是:

td;博士;

Postgres 使用函数(你可以称它们为存储过程),但它不会对它们进行 CALL,而是对它们进行 SELECT
这是类似问题的链接:https://stackoverflow.com/a/38115374/1163927

关于node.js - 如何使用 sequelize 传递 json 参数在 postgres 中调用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49913137/

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