程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 調用Oracle存儲過程的兩大步驟

調用Oracle存儲過程的兩大步驟

編輯:Oracle數據庫基礎

以下的文章主要是對Oracle存儲過程的相關內容的描述,其實調用存儲過程就是由流控制與SQL語句的相關書寫的過程,這個過程經編譯和優化後存儲在數據庫服務器中,FIEnReport使用時只要調用即可。

下面以一個具體的實例來學習如何使用FineReport調用Oracle存儲過程的。

第一步,Oracel定義存儲過程。

StScroe是Oracele數據庫中的張表,其中記錄了學生的成績信息,表結構如下:

定義返回列表的存儲過程——由於Oracle存儲過程沒有返回值,它的所有返回值都是通過out參數來替代的,列表同樣也不例外,但由於是集合,所以不能用一般的參數,必須要用pagkage了,所以定義存儲過程要分兩部分:

建立一個程序包,如下:

  1. CREATE OR REPLACE PACKAGE TESTPACKAGE AS  
  2. TYPE Test_CURSOR IS REF CURSOR;  
  3. END TESTPACKAGE;  

建立存儲過程,存儲過程為:

  1. CREATE OR REPLACE PROCEDURE p_STSCORE
    (Class in varchar2,p_CURSOR out TESTPACKAGE.Test_CURSOR) IS  
  2. BEGIN  
  3. OPEN p_CURSOR FOR SELECT * FROM FR.STSCORE where STSCORE.ClassNo=Class;  
  4. END p_STSCORE;  

第二步,調用存儲過程。

啟動FineReport設計器,右擊數據源面板,選擇私有數據源,彈出私有數據源對話框。
點擊增加按鈕,新建一個私有數據源,名為ds1,數據庫選擇為Oracle數據源,查詢類型為存儲過程,在sql文本框中寫如下語句調用存儲過程:

  1. {call fr.p_stscore('[?Class|Class1?]',?)} 

3. 點擊預覽按鈕,可以預覽查詢到的數據,如下所示:

至此,FineReport設計器成功調用Oracle存儲過程,您可以根據報表需求隨心所欲地設計報表樣式了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved