• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    存储过程返回数组对象示例代码
    其实就相当于返回List里面放的对象数据,定义如下

    1.创建存储过程对象
    复制代码 代码如下:

    CREATE OR REPLACE TYPE "T_ACCOUNT_MONTH"
    as object(
    ACCOUNT_ID NUMBER,
    INIT_AMOUNT NUMBER,
    DEBIT_AMOUNT NUMBER,
    CREDIT_AMOUNT NUMBER
    )

    2.创建存数过程数组
    复制代码 代码如下:

    CREATE OR REPLACE TYPE "T_ACCOUNT_MONTH_TABLE"
    as table of t_account_month

    3.创建存储过程
    复制代码 代码如下:

    create or replace function account_month(tDate IN DATE)
    return t_account_month_table pipelined
    as
    v_account_month t_account_month;
    v_date DATE;
    begin
    v_date:=tDate;
    IF v_date IS NULL THEN
    v_date:=sysdate;
    END IF;
    for myrow in (
    select d.ACCOUNT_ID,
    sum(decode(sign(d.create_time-trunc(v_date,'month')),-1,
    d.debit_unvoucher + d.debit_unposted +d.debit_posted - d.CREDIT_UNVOUCHER -d.CREDIT_UNPOSTED- d.CREDIT_POSTED_D,
    0)) INIT_AMOUNT,
    sum(decode(sign(trunc(d.create_time,'year')-trunc(sysdate,'year')),0,
    d.debit_unposted+d.debit_posted,
    0)) DEBIT_AMOUNT,
    sum(decode(sign(trunc(d.create_time,'year')-trunc(sysdate,'year')),0,
    d.credit_unposted+d.credit_posted,
    0)) CREDIT_AMOUNT
    from ACCOUNT_DAILY_VEIW d
    group by d.ACCOUNT_ID
    ) loop
    v_account_month := t_account_month(
    myrow.ACCOUNT_ID,
    myrow.INIT_AMOUNT,
    myrow.DEBIT_AMOUNT,
    myrow.CREDIT_AMOUNT
    );
    pipe row (v_account_month);
    end loop;
    return;
    end;
    上一篇:复制数据库表中两个字段数据的SQL语句
    下一篇:数据库查询优化(主从表的设计)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    存储过程返回数组对象示例代码 存储,过程,返回,数组,对象,