您的位置: 旅游網 > 圖庫 >> 美女模特

    基于自定義函數的

    發布時間:2021-10-29 05:43:27

    留言版上的第2330號問題是:

    在oralce中給自建函數創建索引,結果不成功。

    source:Create Index IDX_T_SP_TWOTYPESTAT_0_f On T_SP_TWOTYPESTAT_0(f_dateadd(yearmonth,12,2));

    err:the function is not deterministic.

    我們看一下這是為什么?

    單注獎金為28.59萬。當期我省達州彩民贏得幸運 隨便一個測試可以再現這個問題,我門創建一個函數(本范例函數用于進行16進制向10進制轉換):

    CREATE OR REPLACE FUNCTION h2ten (

    p_str IN VARCHAR2,

    p_from_base IN NUMBER DEFAULT 16

    )

    RETURN NUMBER

    IS

    l_num NUMBER DEFAULT 0;

    l_hex VARCHAR2 (16) DEFAULT \'ABCDEF\';

    BEGIN

    FOR i IN 1 .. LENGTH (p_str)

    LOOP

    l_num :=

    l_num * p_from_base + INSTR (l_hex, UPPER (SUBSTR (p_str, i, 1)))

    - 1;

    END LOOP;

    RETURN l_num;

    END h2ten;

    此時創建索引,獲得如下錯誤信息:

    SQL create table t as select username,\'a\' hex from dba_users;

    Table created

    SQL create index i_t on t (h2ten(hex));

    create index i_t on t (h2ten(hex))

    ORA-30553: The function is not deterministic

    如果需要創建基于自定義函數的索引,那么我們需要指定deterministic參數:

    CREATE OR REPLACE FUNCTION h2ten (

    p_str IN VARCHAR2,

    p_from_base IN NUMBER DEFAULT 16

    )

    RETURN NUMBER DETERMINISTIC

    IS

    l_num NUMBER DEFAULT 0;

    l_hex VARCHAR2 (16) DEFAULT \'ABCDEF\';

    BEGIN

    FOR i IN 1 .. LENGTH (p_str)

    LOOP

    l_num :=

    l_num * p_from_base + INSTR (l_hex, UPPER (SUBSTR (p_str, i, 1)))

    - 1;

    END LOOP;

    RETURN l_num;

    END h2ten;

    此時創建索引即可:

    SQL create index i_t on t (h2ten(hex));

    Index created

    Oracle這樣解釋這個參數:

    The hint DETERMINISTIC helps the optimizer avoid redundant function calls. If a stored function was called previously with the same arguments, the optimizer can elect to use the previous result. The function result should not depend on the state of session variables or schema objects. Otherwise, results might vary across calls. Only DETERMINISTIC functions can be called from a function-based index or a materialized view that has query-rewrite enabled.

    查看本文來源

    重慶無痛人流
    呼和浩特治療婦科哪家醫院好
    太原宮頸糜爛治療費用
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 男人进的越深越爽动态图| 欧美另类黑人巨大videos| 日本19禁啪啪无遮挡大尺度| 亚洲熟妇丰满xxxxx| 色yeye香蕉凹凸视频在线观看| 国产精品欧美一区二区三区不卡| 东京一本一道一二三区| 最新亚洲人成无码网www电影| 亚洲综合伊人久久大杳蕉| 翁熄性放纵交换| 国产成人精品无码片区在线观看| 99re热在线观看| 性生活免费大片| 久久无码精品一区二区三区| 欧美疯狂性受xxxxx喷水| 再深点灬舒服灬太大了阅读 | 日韩视频在线播放| 亚洲精品乱码久久久久久| 精品国产v无码大片在线看 | 欧美与黑人午夜性猛交久久久| 伊人久久精品线影院| 老师你下面好湿好深视频| 国产成人无码区免费内射一片色欲 | 最漂亮夫上司犯连七天| 亚洲精品无码永久在线观看 | 精品久久久无码中文字幕边打电话| 国产口爆吞精在线视频| 在线观看永久免费| 处破女18分钟完整版| 一本大道无码人妻精品专区| 日本丶国产丶欧美色综合| 久热中文字幕在线| 欧美巨大黑人精品videos人妖| 亚洲精品线在线观看| 精品久久久中文字幕二区| 国产gaysexchina男同menxnxx| 黑人26厘米大战亚洲女| 国产精品免费看久久久无码| 97久久天天综合色天天综合色| 天天摸天天干天天操| 一级做a爱片特黄在线观看yy |