茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    兩個(gè)Oracle存儲(chǔ)過程程序分享
    來源:易賢網(wǎng) 閱讀:1540 次 日期:2015-08-28 17:24:56
    溫馨提示:易賢網(wǎng)小編為您整理了“兩個(gè)Oracle存儲(chǔ)過程程序分享”,方便廣大網(wǎng)友查閱!

    為了解決日常工作中的問題,再加上好久沒有寫程序,利用這個(gè)周末的時(shí)間寫了如下的存儲(chǔ)過程或函數(shù),公布于此處,希望能對(duì)大家寫這一類的程序有所啟發(fā)。大家對(duì)寫程序可能有一個(gè)誤區(qū),有些人常說:你看我什么語言都會(huì),比如說C,C++,VB,perl,shell,其實(shí)語言的本身并不重要,重要的還是在算法上,置于語法,用時(shí)去查一下就可以了。

    第一個(gè)存儲(chǔ)過程,屬性串替換函數(shù),常用于數(shù)據(jù)訂正過程中(使用oracle提供的replace函數(shù)會(huì)有問題)

    create or replace function sp_replace_property_value(v_ch varchar2,v_from varchar2,

    v_to varchar2) return varchar2

    /*

    creator:danchen

    create_time:2008-4-19

    function:replace taobao' property name and property value id as group

    v_ch 屬性串;v_from 源屬性; v_to 目標(biāo)屬性,目標(biāo)屬性可為空,則變成刪除屬性

    */

    as

    --定義返回的返回的屬性字符串

    result_v varchar2(200):='';

    --定義剩余屬性字符串變量

    temp_v varchar2(200):='';

    --定義分號(hào)位置

    fenhao_address number;

    --定義臨時(shí)屬性對(duì)變量

    v_pv varchar2(20);

    begin

    if v_ch is null or v_from is null then

    return 'error';

    end if;

    if instr(v_ch,':') = 0 or instr(v_from,':')= 0 then

    return 'error';

    end if;

    temp_v := v_ch;

    loop

    fenhao_address := instr(temp_v,';');

    if fenhao_address=0 then

    --沒有找到分號(hào),則為最后一組屬性名:屬性值

    v_pv := temp_v;

    --檢查屬性是否是要替換的屬性

    if v_pv != v_from then

    result_v := result_v||';'||v_pv ;

    else

    if v_to is not null then

    result_v := result_v||';'||v_to;

    end if;

    end if;

    --跳出循環(huán)

    exit;

    else

    --取出屬性對(duì)

    v_pv := substr(temp_v,1,instr(temp_v,';')-1);

    --檢查屬性是否是要替換的屬性

    if v_pv != v_from then

    result_v := result_v||';'||v_pv ;

    else

    if v_to is not null then

    result_v := result_v||';'||v_to;

    end if;

    end if;

    --得到剩余的屬性對(duì)

    temp_v := substr(temp_v,instr(temp_v,';')+1);

    end if;

    end loop;

    --對(duì)結(jié)果進(jìn)行處理,去掉最左側(cè)的分號(hào)

    if substr(result_v,1,1)=';' then

    result_v := substr(result_v,2);

    end if;

    --返回結(jié)果

    return result_v;

    end sp_replace_property_value;

    第一個(gè)存儲(chǔ)過程使用示例:

    SQL> select sp_replace_property_value('33392:118167;33393:107054;33391:118167','33393:107054','') from dual;

    SP_REPLACE_PROPERTY_VALUE('33392:118167;33393:107054;33391:118167','33393:107054

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

    33392:118167;33391:118167

    SQL> select sp_replace_property_value('33392:118167;33393:107054;33391:118167','33393:107054','33393:100') from dual;

    SP_REPLACE_PROPERTY_VALUE('33392:118167;33393:107054;33391:118167','33393:107054

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

    33392:118167;33393:100;33391:118167

    第二個(gè)存儲(chǔ)過程,檢查相關(guān)屬性對(duì)在目標(biāo)屬性串是否存在,常用于select查詢語句(使用oracle提供的like查詢會(huì)不準(zhǔn)確)

    create or replace function sp_exist_property(v_strpv varchar2,v_pv varchar2) return number

    /*

    creator:danchen

    create_time:2008-4-20

    function:檢查v_pv在屬性串v_strpv中是否全部存在

    */

    as

    type t_pvs is table of varchar2(50);

    --保存分解后v_strpv

    v_pvs t_pvs:=t_pvs();

    --保存分解后v_pv

    s_pvs t_pvs:=t_pvs();

    --定義剩余屬性字符串變量

    last_pvs varchar2(200):='';

    --臨時(shí)屬性變量

    temp_pv varchar2(50);

    --定義分號(hào)位置

    fenhao_address number;

    --定義比較結(jié)果,0不存在;1存在

    v_check number;

    v_result number;

    begin

    if (v_strpv is null) or (v_pv is null) then

    return -1;

    end if;

    if instr(v_strpv,':')=0 or instr(v_pv,':')=0 then

    return -2;

    end if;

    更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
    易賢網(wǎng)手機(jī)網(wǎng)站地址:兩個(gè)Oracle存儲(chǔ)過程程序分享
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026國(guó)考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)