`
PolyAngel
  • 浏览: 115047 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

Oracle中怎样使用JAVA函数及自定义函数(转)

 
阅读更多
环境:windows2000 + oracle9.2

1、loadjava

2、直接在Oracle中使用Java源,Oracle内置JVM,对java支持很好

(1).   建立   java   source  

  create   or   replace   and   compile   java   source   named   js_output_test   as  
  public   class   js_test  
  {  
      public   static   String   js_desc()  
      {  
                return   "this   is   java   source   test.";  
      }  
  }  
   
(2).   发布java source

  CREATE   OR   REPLACE   FUNCTION   fn_test_js   RETURN   VARCHAR2  
  AS   LANGUAGE   JAVA   NAME   'js_test.js_desc()   return   java.lang.String';  
   
(3).   测试.  

  SQL>   set   serveroutput   on;  
  SQL>   var   v_test   varchar2(25);  
  SQL>   call   fn_test_js()   into   :v_test;  
  调用完成。  
  SQL>   print   v_test;  
  V_TEST  
  --------------------------------  
  this   is   java   source   test.

注意:发布时参数中的java.lang.String一定要写全,返回类型可以用number代替int

====================================================================
create or replace and compile java source named hello as
public class Hello {
    static public String Message(String yname) {
        return "Hello, " + yname;
    }
}

create or replace function hello (Name VARCHAR2) return VARCHAR2
     as language java name
     'Hello.Message (java.lang.String) return java.lang.String';
    
Select hello('every body!') From dual;
====================================================================
create or replace and compile java source named sea as
public class Sea{
    public static String myReplaceAll(String src,String name1,String name2) {  
          int a=0;     int n=name1.length();      int l=src.indexOf(name1,a);
          while(l>0){
              src = src.substring(0,l) + src.substring(l+n);
              a=a+n;
              l=src.indexOf(name1,a);
          }
    return src;
    } 
   
    public static String getSameCompany(String name11,String name22){
        if(name11==null || name22==null){
            return "false";
        }

        String s1=myReplaceAll(name11,"公司","");  String s2=myReplaceAll(name22,"公司","");
        s1=myReplaceAll(s1,"有限","");             s2=myReplaceAll(s2,"有限","");
        s1=myReplaceAll(s1,"责任","");             s2=myReplaceAll(s2,"责任","");
        s1=myReplaceAll(s1,"市","");               s2=myReplaceAll(s2,"市","");
        s1=myReplaceAll(s1,"股份","");             s2=myReplaceAll(s2,"股份","");
       
        if(s1.indexOf(s2)>=0 || s2.indexOf(s1)>=0){
            return "true";
        }else{
            return "false";
        }
    }
}

CREATE OR REPLACE Function same (name1 Varchar2, name2 Varchar2) Return Varchar2
    As Language Java Name
    'Sea.getSameCompany(java.lang.String,java.lang.String) return java.lang.String';
   
====================================================================
CREATE OR REPLACE Function SAME_COMPANY_NAME(Name1 In Varchar2, Name2 In Varchar2) Return Integer Is
Nam1 Varchar2(255); Nam2 Varchar2(255);
Begin
Nam1 := Replace(Name1, '公司', ''); Nam2 := Replace(Name2, '公司', '');
Nam1 := Replace(Nam1, '有限', ''); Nam2 := Replace(Nam2, '有限', '');
Nam1 := Replace(Nam1, '责任', ''); Nam2 := Replace(Nam2, '责任', '');
Nam1 := Replace(Nam1, '市', '');   Nam2 := Replace(Nam2, '市', '');
Nam1 := Replace(Nam1, '股份', ''); Nam2 := Replace(Nam2, '股份', '');
If (Instr(Nam1, Nam2) > 0 Or Instr(Nam2, Nam1) > 0) Then Return 0; Else Return 1; End If;
End SAME_COMPANY_NAME;
====================================================================

分享到:
评论

相关推荐

    ORACLE CRC32函数

    2. **创建Java函数**:接下来,需要创建一个Java函数,该函数调用上面定义的`crc32_class`类中的`getCRC32`方法,并返回计算结果。 ```sql CREATE OR REPLACE FUNCTION getCRC32(str1 VARCHAR2) RETURN BINARY_...

    hibernate 调用oracle函数

    1. **创建Oracle函数**:在Oracle数据库中,我们首先需要创建一个自定义函数。例如,我们可以创建一个计算两个数字之和的函数`ADD_NUMBERS`: ```sql CREATE OR REPLACE FUNCTION ADD_NUMBERS(p_num1 NUMBER, p_...

    Oracle经典自定义创建函数和存储过程

    自定义函数不能被直接在Java中调用,可以通过存储过程调用函数的方法。本文采用实例的方法,介绍如何在Oracle数据库客户端PL/SQL中创建自定义函数,然后创建相应的存储过程调用该函数,最终实现一个实例计算。

    oracle汉字转拼音的函数代码

    综上所述,"oracle汉字转拼音的函数代码"涉及到的是在Oracle数据库中通过自定义函数实现汉字到拼音的转换,这需要对Oracle的PL/SQL编程、字符编码和语言处理有一定的了解。通过学习并运用这些代码,我们可以增强...

    解决Oracle没有WM_CONCAT函数.zip

    在Oracle数据库中,WM_CONCAT是一个非常实用的聚合函数,用于将一组字符串连接成一个单一的字符串,类似于SQL Server中的STRING_AGG或MySQL中的GROUP_CONCAT。然而,Oracle官方并没有提供这个函数,它是一个第三方...

    oracle 获取拼音码函数

    以下是一个简化的示例,展示了如何在Oracle中使用Java存根调用Java的pinyin4j库: 1. 首先,在Oracle中创建一个Java源代码包: ```sql CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "PinyinHelper" AS import ...

    oracle_split_函数_返回数组

    在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...

    oracle获取汉字拼音和拼音首字母的功能函数

    总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...

    Oracle实用函数大全

    `substr`函数允许从字符串中提取子串,参数包括原始字符串、起始位置及可选长度: ```sql SELECT SUBSTR('accp', 5, 4) FROM DUAL; SELECT SUBSTR('accp', 5) FROM DUAL; ``` #### 3. 字符查找 `instr`函数返回子...

    Oracle中的函数、存储过程、包

    - **系统函数**:Oracle预定义的一系列函数,如SYSDATE获取当前日期,USER获取当前用户等,可以直接在SQL查询或PL/SQL代码中使用。 - **自定义函数**:用户根据需求创建的函数,例如上述的`f_get_double`,接收一...

    java报表API源代码(程序数据集、自定义函数和导出API)

    - **SubSection函数**:针对特定场景,例如Oracle查询参数个数限制,可能需要自定义函数来绕过限制,优化性能。 - **生产UPC条形码**:自定义函数还能生成UPC(Universal Product Code)条形码,将数据转换为条形码...

    ORACLE中文转简拼存储方法

    实现这种功能通常涉及中文字符到拼音的转换,这在Oracle中可以通过自定义函数或者使用内置的PL/SQL包来完成。例如,"PG_PUB_GETPINYINBYHANZI.bdy"可能就是一个预编译的PL/SQL包,用于处理汉字到简拼的转换。这种包...

    在Oracle中用Java实现身份证转换.pdf

    总之,通过在Oracle中使用Java实现身份证转换,可以有效解决数据库中15位和18位身份证号码共存的问题,提高业务处理的灵活性和准确性。这种技术方法对于维护数据的一致性和处理复杂业务逻辑具有重要的意义。同时,这...

    oracle汉字转拼音的各种方法

    可以在Oracle中创建外部函数,利用Java或Python等编程语言的汉字转拼音库(如Java的Pinyin4j,Python的pypinyin)进行转换。这种方法灵活性高,但涉及到数据库与外部环境的交互,可能需要关注安全性和性能。 5. **...

    MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数.rar

    标题中的“MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数.rar”表明这是一个关于Java编程和Oracle数据库的教程,特别是涉及到排序(Sorting)和单行函数(Single-row functions)的主题。这个压缩包可能包含了一...

    Oracle函数取得姓名对应的拼音 字典数据

    "Oracle函数取得姓名对应的拼音"这个主题主要涉及如何利用Oracle的内置功能或自定义函数来实现这一目标。这里我们将深入探讨Oracle中处理汉字转拼音的方法。 首先,Oracle数据库并没有直接提供将汉字转换为拼音的...

    oracle中实现sepll,aspell函数

    这类文件可以用于构建词典库,通过导入到Oracle数据库或作为外部数据源供自定义函数使用。在PL/SQL中,可以使用`UTL_FILE`包读取和解析Excel文件内容。 6. **性能优化**: - 在大量数据上执行拼写检查可能会有性能...

    Oracle获取汉字拼音和拼音首字母的功能函数

    总结来说,虽然Oracle自身不提供汉字转拼音的原生函数,但我们可以通过自定义存储过程结合Java代码或使用第三方PL/SQL包来实现这个功能。这两种方法各有优缺点,根据实际项目需求和环境选择合适的方法。

    oracle调用java程序

    【Oracle调用Java程序】是Oracle数据库中的一种高级特性,允许开发者使用Java语言编写存储过程、函数等数据库组件,以扩展数据库的功能。这种方式结合了Java的面向对象编程能力与Oracle数据库的强大数据处理能力。 ...

    Oracle bolb转换Base64 CLOB.txt

    Oracle slq bolb转换Base64 CLOB

Global site tag (gtag.js) - Google Analytics