亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

SUN認(rèn)證

Java怎么編寫Oracle存儲過程

時間:2024-09-11 21:38:44 SUN認(rèn)證 我要投稿
  • 相關(guān)推薦

Java怎么編寫Oracle存儲過程

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

  由于ps/SQL是過程化的語言,它基本上不具備多態(tài)的概念,供Oracle使用的Java方法必須申明為static,所以在Oracle中你無法使用Java的動態(tài)特性,比如接口、反射等。不過這并不妨礙你用Java做你愛做的事。

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

  首先是創(chuàng)建一個Java類,你可以用Jbuilder/Eclipse來編寫,也可以直接在Oracle的控制臺里面創(chuà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中把這個類導(dǎo)入成為一個函數(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

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

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

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

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

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

【Java怎么編寫Oracle存儲過程】相關(guān)文章:

Java調(diào)用MySQL存儲過程并獲得返回值的方法10-14

java編寫即時聊天程序06-12

Java編寫計算器的的常見做法07-08

Java程序編寫記事本方法大全09-04

怎么安裝java環(huán)境09-13

Oracle發(fā)展歷程08-25

Oracle認(rèn)證體系介紹01-30

oracle認(rèn)證考試詳情06-09

Oracle DBA職業(yè)要求08-31

Oracle認(rèn)證考試介紹05-03