從PL/SQL儲存函式返回陣列
完成此方法指南後,您應該能夠:
-
在 Oracle 資料庫中建立 VARRAY
-
使用 oracle.sql.ARRAY 類
-
從 Java 訪問 VARRAY
簡介
本文件演示如何從 PL/SQL 函式返回陣列並從 java 應用程式訪問它。陣列是一組有序的資料元素。 VARRAY 是大小可變的陣列。它具有資料元素的排列集,並且所有元素屬於同一資料型別。每個元素都具有索引,它是與元素在 VARRAY 中的位置相對應的一個數字。 VARRAY 中元素的數量是 VARRAY 的“大小”。在宣告 VARRAY 型別時,必須指定其最大值。
在此方法指南中,PL/SQL 儲存函式從 SCOTT 模式的 EMP 表中取出所有僱員的姓名,以這些姓名建立一個陣列並將其返回。從 Java 應用程式呼叫此 PL/SQL 儲存函式,向使用者顯示僱員的姓名。
軟體需求
-
Oracle9i Database version 9.0.1 或更新版本。您可從 Oracle 技術網下載 Oracle9i 資料庫。
-
JDK1.2.x 或更高版本。可從此處下載。
-
Oracle9i JDBC 驅動程式。JDBC 驅動程式可從 ORACLE_HOME/jdbc/lib 處獲得。也可從此處下載。
在資料庫中建立一個 SQLVARRAY 型別,在本例中,它是 VARCHAR2 型別。 作為 scott/tiger 使用者連線到資料庫,並在 SQL 提示符處執行以下命令。
SQL>CREATE OR REPLACE TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30)
SQL>/
然後建立下面的函式,它返回一個 VARRAY。
|
在資料庫中建立函式後,可以從 java 應用程式呼叫它並在應用程式中獲得陣列資料。下面給出程式碼段,從 Java 應用程式執行 PL/SQL 儲存函式。單擊此處檢視完整的應用程式原始碼。
|
在上面的程式碼段中,可以看到 OracleCallableSatatement 用於呼叫 PL/SQL 儲存函式。在執行 PL/SQL 儲存函式前,將返回的資料型別註冊為 OracleTypes.ARRAY,並且指定在資料庫中定義的型別名稱 (EMPARRAY)。然後執行 PL/SQL 儲存函式並獲得 oracle.sql.ARRAY 形式的返回值。 oracle.sql.ARRAY 類擁有的方法可以獲得關於陣列的詳細資訊,如陣列型別、陣列長度等。使用 oracle.sql.ARRAY 的 getArray() 方法獲得陣列的內容並將內容列印出來。
總結
本文件說明了如何建立 VARRAY 並從 PL/SQL 儲存函式返回陣列,以及如何從 java 應用程式訪問它
參考:http://www.oracle.com/technology/global/cn/sample_code/tech/java/codesnippet/jdbc/varray/index.html
相關文章
- PL/SQL 中的儲存過程與函式SQL儲存過程函式
- pl/sql陣列SQL陣列
- SQL---------儲存函式SQL儲存函式
- oracle INDEX BY Pl/sql陣列OracleIndexSQL陣列
- oracle中取得儲存過程、函式等pl sql原始碼的方法Oracle儲存過程函式SQL原始碼
- PL/SQL 函式 包SQL函式
- SQL server儲存過程函式SQLServer儲存過程函式
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- Oracle PL/SQL 之 函式OracleSQL函式
- PL/SQL 06 函式 functionSQL函式Function
- Oracle Pl/SQL 之 儲存過程OracleSQL儲存過程
- PL/SQL 05 儲存過程 procedureSQL儲存過程
- 儲存函式儲存函式
- PL/SQL表---table()函式用法SQL函式
- 一個簡單的oracle函式返回陣列的例子Oracle函式陣列
- sql server資料庫如何儲存陣列,int[]float[]double[]陣列儲存到資料庫方法SQLServer資料庫陣列
- PL/SQL Developer自動儲存密碼SQLDeveloper密碼
- 儲存過程與儲存函式儲存過程儲存函式
- MySQL中陣列的儲存MySql陣列
- 【fosoyo】SQL Server儲存過程/函式加/解密SQLServer儲存過程函式解密
- onethink中 list_to_tree 函式 是如何返回陣列的函式陣列
- Solidity中函式返回值,靜態動態陣列Solid函式陣列
- PLSQL Language Reference-PL/SQL語言基礎-表示式-PL/SQL表示式中的SQL函式SQL函式
- mysql儲存函過程和儲存函式都屬於儲存程式MySql儲存函式
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- PL/SQL單行函式和組函式詳解(轉)SQL函式
- PKG_COLLECTION_LHR 儲存過程或函式返回集合型別儲存過程函式型別
- SQL中儲存過程和函式的區別SQL儲存過程函式
- 佇列-鏈式儲存佇列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- PHP 陣列常用函式PHP陣列函式
- 陣列處理函式陣列函式
- 陣列展平函式陣列函式
- 巧用 PHP 陣列函式PHP陣列函式
- PHP 陣列函式妙用PHP陣列函式
- 儲存過程 函式儲存過程函式
- 函式索引的儲存函式索引
- 記錄Record、PL/SQL表和二維陣列SQL陣列