zoukankan      html  css  js  c++  java
  • oracle自定义函数创建函数索引

    oracle自定义函数创建函数索引

    ORACLE 允许建立函数索引,默认情况下只能使用系统函数。如果要建立基于用户自定义函数的索引。那么就需要在函数里加上关键字“deterministic”。
    但是用户仍然可以在今后需要时修改函数,但是并不会造成索引失效,修改后请一定要执行重建索引命令。

    创建函数索引
    例:

    create or replace function F1(c integer) return integer deterministic is 
      FunctionResult integer;
    begin
      FunctionResult := c * 2;
      return(FunctionResult);
    end F1;
    

      

    重建索引
    ALTER INDEX 索引名称 REBUILD ;

    例:

    ALTER INDEX ID_T1_C1 REBUILD ;
    

      

    总结:
    1,索引修改后,立即生效,
    2, 但是SELECT 的表上相关字段如果建立了函数索引,且索引未重建,那么,对于该列计算出的值仍是旧函数值。-----其实ORACLE根本就没有计算,而是走索引得出来的。
    3,重建索引后,计算数值恢复正确值 。
    4, 使用自定义函数索引,在维护时需要小心。

  • 相关阅读:
    export和import实现模块化
    Net Core
    DockerCon 2016
    NET Core 构成体系
    Cloud Engine
    JVM内存结构
    Signalr
    Rabbit.Rpc
    遍历指定包名下所有的类(支持jar)(转)
    httpd的简单配置(转)
  • 原文地址:https://www.cnblogs.com/wzihan/p/15400446.html
Copyright © 2011-2022 走看看