Я создал хранимую функцию для извлечения данных:
CREATE OR REPLACE FUNCTION sold_quantity()
RETURNS TABLE(
invoiceid BIGINT,
itemid BIGINT,
sum_sold_quantity NUMERIC)
AS $$
BEGIN
RETURN QUERY SELECT
invoice_id as invoiceid, item_id as itemid, sum(sold_quantity) as
sum_sold_quantity
FROM
invoice_item
WHERE
status='sold'
GROUP BY
invoice_id, item_id;
END; $$
LANGUAGE 'plpgsql';
Как сохранить эти данные и использовать их для обновления таблицы ниже?
UPDATE invoice_item
SET sold_quantity = sum_sold_quantity
where invoice_id=invoiceid
and item_id = itemid;
Как мы можем объединить эти дваЗапросы (выбор и обновление) в одной сохраненной функции и выполнение для извлечения всех 500 тыс. записей с тремя вышеупомянутыми столбцами и обновления пакета (например, 10 000 записей)