<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Java怎么編寫Oracle存儲過程

            時間:2024-09-15 01:32:39 SUN認證 我要投稿
            • 相關推薦

            Java怎么編寫Oracle存儲過程

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

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

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

              首先是創建一個Java類,你可以用Jbuilder/Eclipse來編寫,也可以直接在Oracle的控制臺里面創建。前者不多說,看看后一種方式。

              啟動SQL plus,執行如下命令:

             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程序已創建。

              然后在Oracle中把這個類導入成為一個函數,執行命令:

             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';

              函數已創建

              現在可以調用該函數,執行:

              select hello('bromon') from dual;

              返回結果:你好,bromon

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

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

              那么在創建函數的時候,函數名不應該有擴號:hello_sp,否則會報告函數有編譯錯誤。

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

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

            【Java怎么編寫Oracle存儲過程】相關文章:

            Java怎么編寫走馬燈程序03-20

            ACT真題編寫的過程03-04

            Java編寫計算器的的常見做法01-22

            怎么安裝java環境03-29

            Oracle認證:ORACLE綁定變量BINDPEEKING03-08

            Win10存儲感知怎么開啟01-11

            Oracle認證:Oracle控制件文件修復03-18

            JAVA和.NET開發過程中的區別04-27

            Oracle認證:Oracle內存結構研究-PGA篇03-08

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看