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

    基于自定義函數的

    發布時間: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.

    查看本文來源

    重慶無痛人流
    呼和浩特治療婦科哪家醫院好
    太原宮頸糜爛治療費用
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 香蕉伊思人在线精品| 久99久无码精品视频免费播放| 亚洲自拍欧美综合| 成人免费视频国产| 亚洲AV无码国产精品永久一区| 色婷婷亚洲十月十月色天| 国产精品自在线拍国产手机版| 久久精品国产99国产| 波多野结衣中文无毒不卡| 国产av午夜精品一区二区入口| 97国产免费全部免费观看| 扒下胸罩揉她的乳尖调教| 亚洲AV无码成人精品区在线观看 | 老师~你的技术真好好大| 国产精品igao视频| avav片在线看| 成年人在线播放| 亚洲2022国产成人精品无码区| 精品久久久久久久久中文字幕| 国产精品亚欧美一区二区三区| 中文字幕成人在线| 最近中文字幕无| 亚洲欧洲日产国码在线观看| 精品亚洲A∨无码一区二区三区| 国产热の有码热の无码视频| a大片大片网y| 成人亚洲网站www在线观看| 久久天天躁狠狠躁夜夜躁2020| 狠狠色丁香久久婷婷综合五月| 国产对白受不了了中文对白| 884aa四虎在线| 天天看天天爽天天摸天天添| 中文字幕不卡高清免费| 日韩三级电影免费| 亚洲另类无码专区丝袜| 激情综合色五月丁香六月欧美| 国产乱子伦露脸在线| 九九影院理论片在线观看一级| 天天狠天天透天干天天怕∴| 中文人妻熟妇乱又伦精品| 日本动态120秒免费|