plsql function

mac2022-06-30  23

do language plpgsql$$declare dz driver_zone%rowtype; leadtime integer;begin    leadtime = 0;    for dz in select * from driver_zone    loop        leadtime = leadtime + 1;        update driver_zone set lead_time = leadtime where id = dz.id;    end loop;end $$;

===============================================

 

CREATE OR REPLACE FUNCTION deliver_orders()  RETURNS integer AS$BODY$DECLARE  cnt integer := 0;  rev consolidated_order_revenue%rowtype;  firstOrder _order%rowtype;  sellingCount integer := 0;  buyingCount integer := 0;BEGIN    FOR rev IN select distinct * from consolidated_order_revenue where id in (select buying_consolidation_id from _order where created_on > '2013-11-01')    LOOPSELECT * INTO firstOrder FROM _order WHERE buying_consolidation_id = rev.id;SELECT COUNT(*) INTO buyingCount FROM _order WHERE buying_consolidation_id = firstOrder.buying_consolidation_id;SELECT COUNT(*) INTO sellingCount FROM _order WHERE selling_consolidation_id = firstOrder.selling_consolidation_id;IF sellingCount > 0 AND buyingCount <> sellingCount THEN RAISE NOTICE 'Fixing revenue: % (buying %, selling %)', rev.id, buyingCount, sellingCount;END IF;    END LOOP;        RAISE NOTICE 'Delivered % orders', cnt;    RETURN cnt;END;$BODY$  LANGUAGE plpgsql VOLATILE  COST 100;ALTER FUNCTION deliver_orders()  OWNER TO jetty;

 

转载于:https://www.cnblogs.com/Uncho/p/4949002.html

相关资源:字符串分割成数组函数(plsql function)
最新回复(0)