自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Java編寫Oracle存儲(chǔ)過(guò)程

開(kāi)發(fā) 后端 Oracle 數(shù)據(jù)庫(kù)運(yùn)維
從Oracle 8開(kāi)始我們可以使用Java來(lái)編寫Oracle存儲(chǔ)過(guò)程。Oracle自帶一個(gè)JVM,內(nèi)置對(duì)Java的支持,任何Java能做的事情你都可以放到Oracle里面來(lái)做。

通常我們都使用Ps/SQL為Oracle編寫存儲(chǔ)過(guò)程,從Oracle 8開(kāi)始我們可以有另一種選擇:Java。8.0開(kāi)始,Oracle自帶一個(gè)JVM,內(nèi)置對(duì)Java的支持,任何Java能做的事情你都可以放到Oracle里面來(lái)做,你甚至可以在里面操作db2。這讓Oracle具備了極其巨大的擴(kuò)展能力,只要你愿意,完全可以開(kāi)發(fā)一個(gè)trigger,讓它在適當(dāng)?shù)臅r(shí)候給管理員的msn發(fā)送一條即時(shí)消息。

好消息說(shuō)完了,現(xiàn)在是壞消息:由于ps/SQL是過(guò)程化的語(yǔ)言,它基本上不具備多態(tài)的概念,供Oracle使用的Java方法必須申明為static,所以在Oracle中你無(wú)法使用Java的動(dòng)態(tài)特性,比如接口、反射等。不過(guò)這并不妨礙你用Java做愛(ài)做的事。

我們以一個(gè)簡(jiǎn)單的hello world為例,我想任何一個(gè)有經(jīng)驗(yàn)的Java程序員都能夠通過(guò)這個(gè)例子,派生出其他希奇古怪的應(yīng)用,有好的創(chuàng)意記得要與我共享,我的msn是

首先是創(chuàng)建一個(gè)Java類,你可以用Jbuilder/Eclipse來(lái)編寫,也可以直接在Oracle的控制臺(tái)里面創(chuàng)建。前者不多說(shuō),看看后一種方式。

啟動(dòng)SQL plus,執(zhí)行如下命令:

create or replace and compile java source named "hello_sp" as 
package org.bromon.oracle; 
public class Hello 
{ 
  public static String say(String name) 
  { 
    return "你好,"+name; 
  } 
} 

Java程序已創(chuàng)建。

然后在Oracle中把這個(gè)類導(dǎo)入成為一個(gè)函數(shù),執(zhí)行命令:

create or replace function hello_sp(name varchar2) return varchar2 
as language java name  
'org.bromon.oracle.Hello.say(java.lang.String) return java.lang.String'; 

函數(shù)已創(chuàng)建

現(xiàn)在可以調(diào)用該函數(shù),執(zhí)行:

select hello('bromon') from dual;

返回結(jié)果:你好,bromon

有一個(gè)需要注意的問(wèn)題是,假如我們的java方法是沒(méi)有參數(shù)的,比如:

public static String say() 
  { 
    return "你好”; 
  } 

那么在創(chuàng)建函數(shù)的時(shí)候,函數(shù)名不應(yīng)該有擴(kuò)號(hào):hello_sp,否則會(huì)報(bào)告函數(shù)有編譯錯(cuò)誤。

如果你的Java類是在IDE里面編寫的,那么只需要在oracle中加載編譯過(guò)的class文件即可,方法是:

啟動(dòng)enterprise manage console,在“方案”下找到“源類型”,右擊”Java類”,選擇”加載Java“,選擇對(duì)應(yīng)的class文件即可。

【編輯推薦】

  1. Oracle存儲(chǔ)過(guò)程開(kāi)發(fā)實(shí)例
  2. ASP調(diào)用oracle存儲(chǔ)過(guò)程
  3. ASP.NET調(diào)用Oracle存儲(chǔ)過(guò)程實(shí)現(xiàn)快速分頁(yè)
責(zé)任編輯:佚名 來(lái)源: bromon
相關(guān)推薦

2010-04-07 12:08:28

Oracle存儲(chǔ)過(guò)程

2010-04-27 17:21:39

Oracle存儲(chǔ)過(guò)程

2010-04-15 16:06:02

Oracle存儲(chǔ)過(guò)程

2010-11-12 12:01:08

Oracle存儲(chǔ)過(guò)程

2010-11-16 14:30:32

Oracle存儲(chǔ)過(guò)程

2012-03-08 10:18:33

JavaOracle

2010-10-26 14:50:11

oracle存儲(chǔ)過(guò)程

2011-07-08 16:07:41

Oracle job存儲(chǔ)過(guò)程

2009-07-22 15:58:34

JDBC調(diào)用Oracl

2010-10-29 16:17:55

Oracle存儲(chǔ)過(guò)程

2010-04-16 10:11:20

Oracle存儲(chǔ)過(guò)程

2010-11-19 11:32:25

Oracle存儲(chǔ)過(guò)程

2010-04-16 11:03:02

Oracle存儲(chǔ)過(guò)程

2010-10-28 10:10:48

oracle存圖片

2011-04-15 10:56:22

2011-04-13 09:45:15

Oracle存儲(chǔ)

2010-04-07 13:12:25

Oracle存儲(chǔ)過(guò)程

2009-03-25 10:48:08

存儲(chǔ)銀行Oracle

2010-10-29 16:12:51

Oracle存儲(chǔ)過(guò)程

2010-07-06 14:06:52

SQL Server存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)