【发布时间】:2020-10-12 22:46:51
【问题描述】:
CREATE OR REPLACE FUNCTION sp_post_items(i_data json)
RETURNS table (fulfiller_id character varying,item_id character varying, order_id character varying,
status_id integer,
-- sku_code character varying, decoration_technology character varying, quantity integer,
item_updated_time timestamp without time zone)
AS $function$
begin
insert into vw_item_status_detail (fulfiller_id ,item_id ,order_id , status_id , sku_code ,
decoration_technology ,quantity, item_updated_time)
select
i_data->>'fulfillerId',
t->>'itemId',
i_data->>'orderId',
1000,
t->>'skuCode',
t->>'decorationTechnology',
10,
now()
from json_array_elements(i_data -> 'items') t
returning fulfiller_id ,item_id ,order_id , status_id , item_updated_time;
-- returning fulfiller_id ,item_id ,order_id , status_id, item_updated_time;
end;
$function$
LANGUAGE plpgsql;
运行存储函数的示例数据
select * from post_items('{"orderId": "s",
"fulfillerId":"kv0fdt6cx7",
"orderDetailsUrl":"het",
"items":[
{
"decorationTechnology":"laserEngraving","itemDescription":"Test Sku for Oracle testing",
"itemId":"aagasdsam1",
"manufacturingUrl":"h-d9ccea00cn-prepress",
"skuCode":"CIM-QYXB3789","productName":"Tsdacle testing","quantity":"225","taskId":"33a1sd769876c52"
},
{
"decorationTechnology":"ssdas"
"itemDescription":"Test Sku for satesting",
"itemId":"aagam2",
"manufacturingUrl":"httsadfa2d72-f225-4a03-addd-d9ccea00c874~1sadlpen-spress",
"skuCode":"CXB3789",
"productName":"Test Sku for Oracle testing",
"quantity":"225",
"taskId":"33asad6c52"
}
]
}'::json)
当我尝试运行时,函数值被插入到数据库中,但没有收到任何回报。
预期输出 返回Stored函数返回查询中提到的参数
尝试了多种方法,但总是没有输出
【问题讨论】:
标签: sql postgresql