Oracle使用函數及PACKAGE回傳資料集
前言:
今天在寫Oracle相關程式時,一時興起,研究一下如何使用函數或預存程序回傳
結果集,參考了底下2篇文章,是使用Package來回傳。
http://vongates.itpub.net/post/2553/24710
http://www.cnblogs.com/ipusr/articles/619759.html
什麼是Package
- PACKAGE是PROCEDURE、FUNCTION的集合,意思為2種都可以寫在裡面,再依條件叫用。
- PACKAGE包含兩部份,一個為規格(宣告與變數)、另一為實作(BODY)。
PAGEAGE實作:
1.建立PACKAGE規格,宣告函數、預存程序、宣告變數,本例只使用函數
2.建立PACKAGE主體
3.程式如何取回資料集
上方的範例測試OK後,心想那直接用函數應該也行吧,所以再用了一個函數來測試後,果然也可以取回資料集。
函數實作:
1.建立函數,內容同上PACKAGE BODY內的FUNCTION寫法
2.程式如何取回資料集
最後…..撰寫工具也很重要,之前是使用AquaStudio去撰寫OracleSql,但寫函數及預存程序
都會出現語法錯誤的編譯,所以我改用由oracle提供的Oracle sql developer 目前是3.0.04.34
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html