plsql function

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‘)
    LOOP
SELECT * 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;

时间: 2024-12-17 08:49:03

plsql function的相关文章

PLSQL Function procedure trigger

1.function 2.procedure 3.两者比较: 4.trigger:

ORA-04091: table xxxx is mutating, trigger/function may not see it

今天同事让我看一个触发器为什么老是报错,当执行DML语句触发触发器后,会报ORA-04091错误:ORA-04091: table xxxx is mutating, trigger/function may not see it .对应的中文错误提示为:ORA-04091: 表 xxx发生了变化, 触发器/函数不能读它. 原因分析: [[email protected] ~]$ oerr ora 409104091, 00000, "table %s.%s is mutating, trigg

通过OCCI连接oracle(C++)

OCCI介绍 OCCI:Oracle C++调用接口(OCCI),即Oracle的C++API,允许你使用面向对象的特性.本地类.C++语言的方法来访问Oracle数据库. OCCI优势 基于标准C++和面向对象的设计: 效率较高: 适合开发C/S模式的程序,软件中间层: OCCI特性 完整支持SQL/PLSQL 为不断增长的用户和请求提供了弹性选项 为使用用户自定义类型,如C中的类,提供了无缝接口 支持所有的Oracle数据类型以及LOB types 可以访问数据库元数据 OCCI头文件及动态

Optimizing Item Import Performance in Oracle Product Hub/Inventory

APPLIES TO: Oracle Product Hub - Version 12.1.1 to 12.1.1 [Release 12.1] Oracle Inventory Management - Version 12.1.1 to 12.1.1 [Release 12.1] Oracle Item Master - Version 12.0.6 to 12.0.6 [Release 12] Information in this document applies to any plat

Workflow_标准BusinessEvent用以监控供应商的修改(案例)

2014-06-01 BaoXinjian 一.摘要 Workflow中有一块比较重要内容就是bussiness event, Oracle 业务时间系统,就是一个消息产生和消费的过程,Oracle打算使用它作为系统集成,源系统产生数据,分装为业务事件,送给目标系统 比如,客户在系统架构时,EBS对supplier的任何修改,都需要抛转至另外一个外接的supplider管理系统,可要要求是即时的,即修改后就发送,而不是异步处理,如果是异步通过db link会更好 实现该需求有很多种技术 如dat

如何在Oracle触发器中使用查询语句

通常情况下,Oracle数据库禁止在行级触发器或行级触发器所调用的子程序中使用查询语句.但是,面对复杂的业务逻辑,不可避免的要使用查询语句. 当在行级触发器中使用查询语句时,Oracle数据库会抛出ORA-04091异常. Oracle官方文档中对ORA-04091异常的说明如下: ORA-04091: table string.string is mutating, trigger/function may not see it Cause: A trigger (or a user defi

通过百度echarts实现数据图表展示功能

现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解echarts是个怎样技术的开发者来说,可以到echarts官网进行学习了解,官网有详细的API文档和实例供大家参考学习. 2.以下是我在工作中实现整理出来的实例源码: 公用的支持js文件 echarts.js.echarts.min.js,还有其他的图表需要支持的js文件也可以到官网下载 echa

帮同学做的大一大作业:《我的家乡—郑州》

---恢复内容开始--- 最近在上海上学的一个高中同学让我帮忙,帮她做她们的计算机课程大作业. 由于关系不错我也不好意思拒绝就帮忙做了,因为这个学期刚刚开始接触HTML5和css,所以制作过程中有很多不懂的,而且由于HTML5是选修课,一星期只有一节,所以做这个花费了比较多的时间,这个网站是我制作的第一个网站,比较有纪念意义,所以发在博客上,作为纪念. 通过去做这个作业,我了解到很多课上学不到的东西.因为没有美工,从头到尾,都是我一个人在臆想,刚开始的时候,根本无从下手,我去参考别人做的家乡网站

Oracle PLSQL Demo - 18.01管道function[查询零散的字段组成list管道返回]

--PACKAGE CREATE OR REPLACE PACKAGE test_141213 is TYPE type_ref IS record( ENAME VARCHAR2(20), WORK_CITY VARCHAR2(20), SAL NUMBER(10)); TYPE t_type_ref IS TABLE OF type_ref; FUNCTION retrieve(v_name varchar2) RETURN t_type_ref PIPELINED; END test_14