我是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$;
从节点应用程序传递的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:..}
我对此完全陌生,并且在过去两天一直试图找到问题。 任何帮助都会非常感激。
谢谢
答案 0 :(得分:1)
参加聚会有点晚了...
td;博士;
Postgres使用函数(您可以将它们称为存储过程),但不会CALL
,而是SELECT
它们
以下是类似问题的链接:https://stackoverflow.com/a/38115374/1163927