posts - 431,  comments - 344,  trackbacks - 0

          首先在PL/Sql中分別執行:

          create or replace and compile java source named TestJava1 as 
          public class TestJava1 

            public static void test() 
            { 
             System.out.println("Hello"); 
            } 
          }


          create or replace procedure testJava1 as language java name 'TestJava1.test()';

          ---------------------------------------------------------------------------------------------------------

          在SQLPlus中

          C:\Windows\System32>sqlplus nc5520110105/nc5520110105@192.168.10.87

          SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 1 14:06:02 2011

          Copyright (c) 1982, 2010, Oracle.  All rights reserved.


          Connected to:
          Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
          With the Partitioning, OLAP and Data Mining options

          SQL> set serveroutput on;
          SQL> show serveroutput;
          serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED
          SQL> call dbms_java.set_output(2000);

          Call completed.

          SQL>
          SQL> show serveroutput;
          serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED
          SQL> exec testJava1();
          Hello

          PL/SQL procedure successfully completed.

          SQL>

          ---------------------------------------------------------------------------------------------------------

          再看一個例子:

          在PL/Sql中執行:

          --用Java編寫Oracle存儲過程。
          create or replace and compile java source named test as
          public class MyTest
          {
              public static void myProc(int a,int b,int[] ret){
                 ret[0]=a+b;
              }
              public static int myFunc(int a,int b){
                 return a+b;
              }
          }

          --創建存儲過程
          create or replace procedure myProc(a in number, b in number, ret out number) as
          language java name 'MyTest.myProc(int,int,int[])';
          --創建函數
          create or replace function myFunc(a in number, b in number) return number is
          language java name 'MyTest.myFunc(int,int) return int';

          然后在SqlPlus中測試存儲過程——

          SQL> set serveroutput on
          SQL> DECLARE a INTEGER;
            2  BEGIN
            3  myProc(1, 2, a);
            4  DBMS_OUTPUT.PUT_LINE(a);
            5  END;
            6  /
          3

          PL/SQL procedure successfully completed.

           

          SQL> select myFunc(1,2) from dual;

          MYFUNC(1,2)
          -----------
                    3

          SQL>

          posted on 2011-06-22 12:38 周銳 閱讀(941) 評論(0)  編輯  收藏 所屬分類: JavaOracle
          主站蜘蛛池模板: 奉节县| 临西县| 石门县| 咸阳市| 区。| 商南县| 新丰县| 伊宁县| 江陵县| 尉犁县| 宿松县| 垣曲县| 五台县| 任丘市| 石楼县| 肇东市| 浠水县| 独山县| 阳朔县| 万宁市| 财经| 平泉县| 陕西省| 葫芦岛市| 和龙市| 孝昌县| 德惠市| 城固县| 化州市| 阳江市| 焦作市| 米脂县| 昆山市| 额敏县| 浮梁县| 盐池县| 开化县| 筠连县| 冷水江市| 安西县| 辰溪县|