论坛首页 入门技术论坛

润乾报表 调用存款过程

浏览 3183 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2010-03-30   最后修改:2010-03-30
--员工表   
create table t_employee(   
id number(10) primary key,   
name varchar2(20),   
age number(3),   
salary number(10),   
deptid number(10)   
);   
  
--部门表   
create table t_dept(   
id number(10) primary key,   
name varchar2(20)   
);   
  
--存储过程 package   
create or replace package mypackage AS TYPE mycursor IS REF CURSOR;   
  
procedure EMP_TJ( in_deptid number,   
                  in_age number,   
                  allemps out mypackage.mycursor);   
end mypackage;   
--存储过程package body    
create or replace package body mypackage is  
procedure EMP_TJ(   
             in_deptid number,   
             in_age number,   
             allemps out mypackage.mycursor)   
IS  
BEGIN  
 open allemps for  
   SELECT id,name,age,salary,deptid FROM T_EMPLOYEE WHERE DEPTID=IN_DEPTID AND AGE>IN_AGE;   
END EMP_TJ;   
end mypackage;  

 

注:转载于:http://layznet.iteye.com/blog/519154

 

 新建空白报表
1)“配置” --“数据源”设置数据源
2)“配置”---“参数” 增加两个参数对应存储过程的输入参数,
     参数名分别是 in_deptid和in_age
2)“配置”--“数据集”--“增加”--数据集类型选“存储过程” ,打开了存储过程数据集窗口
3) 定义tab填入:{call mypackage.EMP_TJ(?,?,?)}; 
    参数tab中增加3个参数:第一个参数---参数表达式值in_deptid,其余默认
第二个参数---参数表达式值in_age,其余默认
第三个参数---参数表达式值@@result,结果类型为游标,参数模式为输出参数,其余默认;
这样就得到了数据集,假定这里数据集名是ds1,其有两列分别是游标中所查询的列名。
4)在报表单元格中就可以像使用SQL取数据集一样使用存储过程的数据集了。

oracle 游标 动态sql:

sqlstr:="select   xxxxx";   
open   return_c1   for   sqlstr;//return_c1游标名

   发表时间:2010-04-02  
最近发现润乾在javaeye上做广告了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics