幸福不是选择题 2017-03-24 01:24 采纳率: 0%
浏览 1935

orcal 存储过程 报错:success with compilation error

create or replace procedure test_count
as
id VARCHAR2(50);
name VARCHAR2(50);
credentialCode VARCHAR2(50);
FK_ITEM_ID VARCHAR2(50);
totalMoney VARCHAR2(50);
totalBuyTime VARCHAR2(50);
usedTime VARCHAR2(50);
freeTime VARCHAR2(50);
totalTime VARCHAR2(50);
diffTime VARCHAR2(50);
--IF_RIGHT VARCHAR2(50);
begin

                            SELECT
                        --c.*,c.购买学时 - c.已花费 应该剩余
                        c.userid into id ,c.name into name, c.login_id into credentialCode ,c.fk_item_id into FK_ITEM_ID,
                        c.购买学时 - c.已花费 into freeTime,c.已花费 into usedTime, c.购买学时 into totalBuyTime,
                        c.different_time into diffTime,c.totalMoney into totalMoney

                        FROM
                        (

                                SELECT e.name,
                                --s.login_id,
                                T.login_id,
                                T . SID AS userid,
                                NVL (T .utime, 0) + NVL (TO_NUMBER(T .ptime), 0) - SUM (zb.class_time) AS different_time,
                                SUM (zb.class_time) AS 购买学时,
                                T .ptime AS 剩余,
                                T .utime AS 已花费,
                                zb.fk_item_id AS fk_item_id,
                                t.totalMoney
                                FROM
                                (
                                        SELECT
                                        su. ID AS SID,
                                        su .login_id as login_id,  -- 加
                                        SUM (pbc. TIME) AS utime,
                                        pt. TIME AS ptime,
                                        "SUM" (zii.study_price * pbc. TIME) as totalMoney
                                        FROM
                                        sso_user su
                                        LEFT JOIN training_course_student tc ON tc.student_id = su. ID  -- 学习记录进度表
                                        LEFT JOIN zgpx_class_opencourse zo ON tc.course_id = zo. ID  -- 课程批次关联表
                                        LEFT JOIN pe_bzz_tch_course pbc ON pbc. ID = zo.course_id   -- 课程基本信息表
                                        LEFT JOIN ZGPX_ITEM_INFO zii on pbc.CONFER_NAME = zii.id   -- 资格表
                                        LEFT JOIN (
                                                SELECT
                                                ssu. ID AS ssuid,
                                                SUM (ptp. TIME) AS TIME
                                                FROM
                                                PE_TOTAL_PEROID ptp  -- 学时账号余额表
                                                LEFT JOIN SSO_USER ssu ON ssu.LOGIN_ID = ptp.CREDENTIAL_CODE
                                                AND ptp.FK_ITEM_ID = ssu.FK_ITEMINFO_ID
                                                GROUP BY
                                                ssu. ID
                                        ) pt ON pt.ssuid = su. ID
                                        WHERE
                                        tc.is_delete IS NULL
                                        AND (
                                        pbc.confer_name = su.fk_iteminfo_id
                                        OR pbc. ID IS NULL
                                        )
                                        GROUP BY
                                        su. ID,
                                        pt. TIME,
                                        su .login_id


                                ) T
                                LEFT JOIN zgpx_book_sso_order zb ON zb.fk_sso_user = T . SID,
                                --sso_user s, --
                                pe_employee_info e
                                WHERE
                                (zb.fk_order_status = '20131012' or zb.fk_order_status = '2016052502') 
                                --and s.id =T . SID --
                                --and e.fk_sso_user_id=s.id
                                and e.fk_sso_user_id=t.SID
                                GROUP BY
                                T . SID,
                                --s.login_id,  --
                                T.login_id,
                                e.name,
                                T .utime,
                                T .ptime,
                                fk_item_id,
                                totalMoney

                        ) C
                        WHERE
                        c.different_time != '0'  -- c.different_time大于0 或小于0均为异常数据
                        ORDER BY
                        c.different_time DESC;

DBMS_OUTPUT.put_line('总人数:'||diffTime);
end;


  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试