oracle資料庫報表取數 儲存過程方式

2021-08-02 14:30:51 字數 1420 閱讀 5208

sql**  

--員工表

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

orreplace 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

orreplace package body mypackage is

procedure emp_tj(  

in_deptid number,  

in_age number,  

allemps out mypackage.mycursor)  

isbegin

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;  

新建空白報表 

1)「配置」 --「資料來源」設定資料來源 

2)「配置」---「引數」 增加兩個引數對應儲存過程的輸入引數, 

引數名分別是 in_deptid和in_age 

2)「配置」--「資料集」--「增加」--資料集型別選「儲存過程」 ,開啟了儲存過程資料集視窗 

3) 定義tab填入:;  

引數tab中增加3個引數:第乙個引數---引數表示式值in_deptid,其餘預設 

第二個引數---引數表示式值in_age,其餘預設 

第三個引數---引數表示式值@@result,結果型別為游標,引數模式為輸出引數,其餘預設; 

這樣就得到了資料集,假定這裡資料集名是ds1,其有兩列分別是in_deptid和in_age。 

4)在報表單元格中就可以像使用sql取資料集一樣使用儲存過程的資料集了。 

報表資料庫

原文 reportingdatabase 設計 2004年4月2日 bliki 索引如果我採用了 領域模型 domain model 如何支援特定的sql查詢呢?領域模型的要點之一就是在應用資料身上新增重要的操作方法。如果你想為資料生成報表,領域模型可提供大力支援。但是,現存的許多報表工具不支援領域...

Oracle資料庫儲存結構

1.儲存結構 oracle資料庫的儲存結構分為邏輯儲存結構和物理儲存結構.圖 32.邏輯結構 邏輯儲存結構主要描述oracle資料庫的內部儲存結構,即從技術概念上描述在oracle資料庫種如何組織 管理資料.圖4 邏輯結構 從邏輯上來看.資料庫是由乙個或者多個表空間等組成。乙個表空間 tablesp...

Oracle資料庫儲存過程

建立語句 create or replace procedure 儲存過程名 儲存過程名定義 包括儲存過程名和引數列表。引數名和引數型別。引數名不能重複,引數傳遞方式 in,out,in out in 表示輸入引數,按值傳遞方式。out 表示輸出引數,可以理解為按引用傳遞方式。可以作為儲存過程的輸出...