<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 9  文章 - 5  trackbacks - 0
    <2009年1月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    在ORACLE存儲過程中創建臨時表

    存儲過程里不能直接使用DDL語句,所以只能使用動態SQL語句來執行

    --ON COMMIT DELETE ROWS 說明臨時表是事務指定,每次提交后ORACLE將截斷表(刪除全部行)
    --ON COMMIT PRESERVE ROWS 說明臨時表是會話指定,當中斷會話時ORACLE將截斷表。


    CREATE OR REPLACE PROCEDURE temptest
    (p_searchDate IN DATE)
    IS
    v_count INT;
    str varchar2(300);
    BEGIN
    v_count := 0;
    str:='drop table SETT_DAILYTEST';
    execute immediate str;
    str:='CREATE GLOBAL TEMPORARY TABLE SETT_DAILYTEST (
    NACCOUNTID NUMBER not null,
    NSUBACCOUNTID NUMBER not null)
    ON COMMIT PRESERVE ROWS';
    execute immediate str; ----使用動態SQL語句來執行
    str:='insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance)';
    execute immediate str;
    END temptest;

    上面建立一個臨時表的存儲過程

    下面是執行一些操作,向臨時表寫數據。

    CREATE OR REPLACE PROCEDURE PR_DAILYCHECK
    (
    p_Date IN DATE,
    p_Office IN INTEGER,
    p_Currency IN INTEGER,
    P_Check IN INTEGER,
    p_countNum OUT INTEGER)
    IS
    v_count INT;
    BEGIN
    v_count := 0;
    IF p_Date IS NULL THEN
    dbms_output.put_line('日期不能為空');
    ELSE
    IF P_Check = 1 THEN
    insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance
    where dtdate = p_Date);

    select
    count(sd.naccountid) into v_count
    from sett_subaccount ss,sett_account sa,sett_dailytest sd
    where sd.naccountid = sa.id and sd.nsubaccountid = ss.id and sa.id = ss.naccountid
    AND sa.nofficeid = p_Office AND sa.ncurrencyid = p_Currency
    and rownum < 2;
    COMMIT;
    p_countNum := v_count;
    dbms_output.put_line(p_countNum);
    END IF;
    IF P_Check = 2 THEN
    insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance
    where dtdate = p_Date);

    select
    count(sd.naccountid) into v_count
    from sett_cfsubaccount ss,sett_account sa,sett_dailytest sd
    where sd.naccountid = sa.id and sd.nsubaccountid = ss.id and sa.id = ss.naccountid
    AND sa.nofficeid = p_Office AND sa.ncurrencyid = p_Currency
    and rownum < 2;
    COMMIT;
    p_countNum := v_count;
    dbms_output.put_line(p_countNum);
    END IF;
    END IF;
    END PR_DAILYCHECK;

    posted on 2009-01-13 21:23 依然Fantasy 閱讀(17356) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲一区二区三区在线网站| 国产成人综合久久精品亚洲| 亚洲一区二区在线免费观看| 人妖系列免费网站观看| 国产亚洲精品免费| 亚洲av第一网站久章草| 亚洲va在线va天堂va不卡下载| 午夜小视频免费观看| 特级做A爰片毛片免费看无码| 理论秋霞在线看免费| 亚洲一级毛片在线播放| 久久青青草原亚洲AV无码麻豆 | 国产精品久久久久免费a∨| 国产日韩在线视频免费播放| 精品国产成人亚洲午夜福利| 国产成A人亚洲精V品无码性色| 国产一级大片免费看| 成熟女人牲交片免费观看视频| 99爱视频99爱在线观看免费| caoporn国产精品免费| 国产aa免费视频| 4399好看日本在线电影免费| 永久免费A∨片在线观看| 中文无码日韩欧免费视频| 国产成人精品亚洲| 黄色免费在线网址| 污视频网站在线观看免费| 免费精品久久久久久中文字幕| 深夜a级毛片免费视频| 一级毛片免费观看不收费| 日亚毛片免费乱码不卡一区 | 成人免费无毒在线观看网站 | 免费v片在线观看无遮挡| 在线观看国产情趣免费视频| gogo免费在线观看| 中文字幕无码毛片免费看| 色www永久免费| 国产精品美女午夜爽爽爽免费| 在线观看免费宅男视频| 国产成人青青热久免费精品| 成人亚洲网站www在线观看|