天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
楼主: hbbs2012

关于调用带参数存储过程的问题【bugId:3466】

[复制链接]
 楼主| hbbs2012 发表于 2012-11-7 13:38:43 | 显示全部楼层
也就是说,你们这个视图里过滤(存储代码)根本就实现不了这种插入式的存储过程?
bess 发表于 2012-11-7 13:39:32 | 显示全部楼层
您好,视图是用来显示数据的,您可以在这里插入数据,但是您最后需要返回一个查询的结果才对!
 楼主| hbbs2012 发表于 2012-11-7 14:08:02 | 显示全部楼层
1、你好,能跟你电话联系么?
2、我这是个传参数的存数过程,参数就是调用的查询表单里的2个日期参数。
bess 发表于 2012-11-7 14:12:09 | 显示全部楼层
您好
我这边q上联系您
bess 发表于 2012-11-7 17:13:23 | 显示全部楼层
跟客户沟通之后,已经告诉客户,客户的存储过程只是插入数据的,而我们的视图是用来显示数据的,需要返回一个查询结果,客户那边也清楚了需求,目前正在修改存储过程,有结果,还在帖子中跟进.
 楼主| hbbs2012 发表于 2012-11-8 15:09:29 | 显示全部楼层
你好,按照技术人员说的,修改了过程,但错误是一样的。下面是我的过程:
create or replace

package SP_TEST AS

type t_cursor is ref cursor;

procedure cbp_ypyhz(ny1 varchar2, ny2 varchar2,c_ref out t_cursor);

end;

CREATE or replace package body SP_TEST as

procedure cbp_ypyhz(ny1 varchar2, ny2 varchar2,c_ref out t_cursor) is

  qs number;
  jz number;
  

begin

  --SET NOCOUNT ON;
  delete from tlk_cbt_ypygl_temp1;
  delete from tlk_cbt_ypygl_temp2;

  qs := ny1;
  jz := ny2;

  insert into tlk_cbt_ypygl_temp1
    (id,
     domainid,
     item_pzdma000,
     item_pzmcheng,
     item_jcun0000,
     item_ljsliang,
     item_cksliang,
     item_qmkcun00,
     item_rksliang)
    select id,
           domainid,
           item_pzdma000,
           item_pzhong00,
           sum(jz),
           sum(rk),
           sum(jz + rk) lj,
           sum(ck),
           sum(jz + rk - ck)
      from (select id,
                   domainid,
                   item_RIQ00000,
                   item_pzdma000,
                   item_pzhong00,
                   '0' jz,
                   to_char(nvl(item_rksliang, 0)) rk,
                   '0' lj,
                   to_char(nvl(item_cksliang, 0)) ck,
                   '0' jcun
              from tlk_cbtypyglwhu t
            union all
            select id,
                   domainid,
                   item_jcrqi000,
                   item_dma00000,
                   item_mcheng00,
                   nvl(item_csjcun00, 0),
                   '0',
                   '0',
                   '0',
                   '0'
              from tlk_cbtypywhu t
             where item_csjcun00 is not null)
     where to_char(item_riq00000, 'yyyymmdd') < qs
     group by id, domainid, item_pzdma000, item_pzhong00;

  insert into tlk_cbt_ypygl_temp2
    (id,
     domainid,
     item_pzdma000,
     item_pzmcheng,
     item_jcun0000,
     item_ljsliang,
     item_cksliang,
     item_qmkcun00,
     item_rksliang)
    select id,
           domainid,
           item_pzdma000,
           item_pzhong00,
           sum(jz),
           sum(nvl(rk, 0)),
           sum(nvl(jz, 0)) + sum(nvl(rk, 0)),
           sum(nvl(ck, 0)),
           sum(nvl(jz, 0)) + sum(nvl(rk, 0)) - sum(nvl(ck, 0))
      from (select id,
                   domainid,
                   item_pzdma000,
                   item_pzhong00,
                   '0' jz,
                   to_char(nvl(item_rksliang, 0)) rk,
                   '0' lj,
                   to_char(nvl(item_cksliang, 0)) ck,
                   '0' jc
              from tlk_cbtypyglwhu a
             where to_char(item_riq00000, 'yyyymmdd') >= qs
               and to_char(item_riq00000, 'yyyymmdd') <= jz
            union all
            select id,
                   domainid,
                   item_pzdma000,
                   item_pzmcheng,
                   item_qmkcun00,
                   null,
                   null,
                   null,
                   null
              from tlk_cbt_ypygl_temp1)
     group by id, domainid, item_pzdma000, item_pzhong00
     order by item_pzdma000;
  commit;
  
open c_ref for select id,
     domainid,
     item_pzdma000,
     item_pzmcheng,
     item_jcun0000,
     item_ljsliang,
     item_cksliang,
     item_qmkcun00,
     item_rksliang from tlk_cbt_ypygl_temp2;
commit;
end cbp_ypyhz;
end SP_TEST;
spiral 发表于 2012-11-8 15:52:08 | 显示全部楼层
同事已经给出了相关的oracle存储过程的解决方案,请您自行测试实践,有问题我们再联系
 楼主| hbbs2012 发表于 2012-11-8 16:00:45 | 显示全部楼层
你好,什么意思啊?不明白啊。什么解决方案?
spiral 发表于 2012-11-8 16:18:13 | 显示全部楼层
就是20L和22L提出的解决方案
 楼主| hbbs2012 发表于 2012-11-9 08:50:44 | 显示全部楼层
已经按照22L说的,进行修改了啊,请看26楼的语句,错误是一样的。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 10:27

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表