[轉貼於菜鳥之Oracle & Java]在sqlplus中呼叫函式和儲存過程
//執行函式
set serveroutput on
declare
outstr varchar2(110);
begin
outstr := fun_test();
dbms_output.put_line(outstr);
end;
=====================================
//執行儲存過程
set serveroutput on
declare
test varchar2(100);
begin
pro_test(test);
dbms_output.put_line(test);
end;
[轉]oracle儲存過程返回記錄集
//=============================================
// 定義包、及儲存過程
// 請注意遊標變數的宣告和使用的方法
// 這裡的遊標是輸出(out)引數
//=============================================
create or replace package audit is
-- Public type declarations, cursor variable
type outList is ref cursor;
PROCEDURE sp_audit_GetTaxpayerList(organize in varchar2, taxpayerList out outList);
end audit;
create or replace package body audit is
-- taxpayerList is cursor variable
PROCEDURE sp_audit_GetTaxpayerList(organize in varchar2, taxpayerList out outList)
is
begin
OPEN taxpayerList
FOR
select
strName , strTelephone
from "TB_PERSONINFO" a
WHERE a.organize = organize ;
end;
end audit;
//=============================================
// 下面是java 原始碼,從oracle儲存過程讀取記錄集
// 注意一定要用oracle的jdbc API ( 可以從oracle網站下載 )
//=============================================
try
{
Connection conn = null;
ResultSet rs = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:ora","net7b.com","net7b");
oracle.jdbc.OracleCallableStatement stmt = (oracle.jdbc.OracleCallableStatement)conn.prepareCall("{call
audit.sp_audit_GetTaxpayerList(?, ?)}");
stmt.setString( 1, "23201020100");
stmt.registerOutParameter( 2, oracle.jdbc.OracleTypes.CURSOR );
stmt.execute();
rs = stmt.getCursor( 2 );
for (int i = 0; rs.next();)
{
System.out.println(" ----["+ i +"]name:" + rs.getString(1) + "telephone:" + rs.getString(2));
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
這個是用遊標變數作為輸入(in)引數的例子一部分。我不必廢話,相信大家可以自己試著編寫這樣
的一個例子了。
PROCEDURE open_cv (generic_cv IN OUT GenericCurTyp,choice NUMBER) IS
BEGIN
IF choice = 1 THEN
OPEN generic_cv FOR SELECT * FROM emp;
ELSIF choice = 2 THEN
OPEN generic_cv FOR SELECT * FROM dept;
ELSIF choice = 3 THEN
OPEN generic_cv FOR SELECT * FROM salgrade;
END IF;
...
END;
建立一個簡單的JAVA儲存過程
在網上找了一位大蝦的文章,照著把作了下來,也把它寫下來,省的忘了^_^
環境:
1、作業系統:Windows 2000 Server
2、數 據 庫:Oracle 9i
3、安裝路徑:D:ORACLE
實現方法:
1、在D:底下建立一個簡單的Hello.java檔案
public class Hello{
public static void main (String args[])
{
System.out.println("Hello!just a test!");
}
}
2、javac編譯:
javac Hello.java
3、檢視結果:
-java Hello
Hello!just a test!
4、連線資料庫,給scott賦create and directory 許可權
conn / as sysdba;
grant create any directory to scott;
5、用scott登入
conn scott/tiger@oradb;
create or replace directory test_dir as 'D:';
create or replace java class using bfile(test_dir,'Hello.class');
6、檢視是否存在
-select object_name,object_type from user_objects;
7、建立
create or replace procedure java_test as language java name 'Hello.main(java.lang.String[])';
8、設定sql/plus環境
set serveroutput on size 5000
call dbms_java.set_output(5000);
9、執行:
execute java_test;
顯示:
Hello!just a test!
一個簡單的java儲存過程建立
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/181629/viewspace-785927/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- JAVA儲存過程(轉)Java儲存過程
- Oracle 儲存過程分頁 + Sqlsugar呼叫Oracle儲存過程SqlSugar
- jsp中呼叫儲存過程JS儲存過程
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- MySQL優化---儲存過程和儲存函式-1-轉自部落格園MySql優化儲存過程儲存函式
- ibatis呼叫oracle儲存過程(極簡版)BATOracle儲存過程
- 呼叫儲存過程儲存過程
- MySQL儲存過程 (即函式)MySql儲存過程函式
- mySql 儲存過程與函式MySql儲存過程函式
- SQL server儲存過程函式SQLServer儲存過程函式
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- Oracle儲存過程Oracle儲存過程
- linux呼叫儲存過程Linux儲存過程
- Winform呼叫儲存過程ORM儲存過程
- day25-索引和函式及儲存過程索引函式儲存過程
- 關於SQL Server中儲存過程在C#中呼叫的簡單示例SQLServer儲存過程C#
- openGauss 函式及儲存過程支援函式儲存過程
- 儲存過程vs.函式QM儲存過程函式
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- oracle的儲存過程Oracle儲存過程
- Oracle儲存過程-1Oracle儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- MySQL自定義函式與儲存過程MySql函式儲存過程
- 函式儲存過程併發控制-案例函式儲存過程
- 七、函式-儲存過程-觸發器函式儲存過程觸發器
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- MySQL 儲存函式及呼叫MySql儲存函式
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- [20190118]toad下如何除錯儲存過程和函式.txt除錯儲存過程函式
- 原創:oracle 儲存過程Oracle儲存過程
- mysql儲存過程及日期函式實踐MySql儲存過程函式
- mysql儲存過程procedure、函式function的用法MySql儲存過程函式Function
- 【MySQL】MySQL(三)儲存過程和函式、觸發器、事務MySql儲存過程函式觸發器