• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            使用DB2必須了解的幾個知識點

            Posted on 2009-04-01 16:45 Prayer 閱讀(174) 評論(0)  編輯 收藏 引用 所屬分類: DB2
               使用IBM DB2數據庫時必須了解的幾個知識點:

                1.在安裝DB2數據庫后,你可以通過命令行方式或圖形界面方式來操作,假如你的數據庫服務端不在本機,則需要在“客戶機配置輔助程序”中做一個客戶端連接的配置。

                2.控制中心中無法增刪改數據,只能編寫sql語句來實現而quest提供的工具雖然能增加數據,但居然無法用復制、粘貼和Tab鍵,必須逐個輸入,然后用鼠標點擊切換現存數據看來可以在單元格中編輯修改,但實際卻無法commit,呵呵,還是老老實實寫update語句,至于刪除數據,更是非寫delete語句不可。不過可以用pb以單元格方式編輯數據,相應的一個缺點是編輯數據的按鈕和刪除表的按鈕太近,萬一點錯了刪除表的按鈕,pb可是不作提示就把表給刪了的,faint

                3.DB2的視圖里不能直接用order by語句,必須這樣寫:

                select × from(select a,b,c from table1 order by a)as tab

                注釋:這種寫法的前提是你已經打過補丁了

                4.存儲過程的問題:

                DB2提供ltrim函數和rtrim函數,但偏偏不提供trim函數,如果你希望去除字符兩端的空格,對不起,必須用ltrim(rtrim()) 的方式調用insert 語句里面居然不能用表達式賦值,必須把值先賦給一個變量調用其他存儲過程時竟然不能用常量做參數,必須把這個常量的值賦給一個變量,再以這個變量為參數

                select * from table fetch first n rows only 語句居然在存儲過程里不可用

                5.存儲過程里可以使用動態sql,但函數里卻不可以使用,kao

                6. 遇到commit或rollback時自動關閉游標,所以需要慎重使用單獨提交。

                proc builder老是在調試中內存不足,屏幕花掉。而如果斷點調試時暫停不進行下去的時間稍微長一點就會提示超時,受不了。

                7.開發問題:

                在使用 日期變量+1 MONTHS OR 日期變量-1 MONTHS 的方式取日期時,比如日期變量值為 2004-02-29時,存儲過程里將日期變量+1 MONTHS 賦值給另一

                日期變量時會出錯。相應SQLSTATE為01506(db2 ? 01506): 對 DATE 或TIMESTAMP值進行了調整,以校正算術運算得出的無效日期。

                如果要獲取的只是下一月份,可采用的替代方法是獲取當前日期所在月份的第一天作為基準后+1 MONTHS OR -1 MONTHS

                8.對變量的賦值不能用select ……into ……方式而要用set v=(select ……)的方式,具體的示例如下:

                drop function SXFM.ISORDERSUBMITDATE;

                CREATE FUNCTION SXFM.ISORDERSUBMITDATE(IN_ROW_ID DECIMAL(16,0))

                RETURNS DATE

                LANGUAGE SQL

                BEGIN ATOMIC DECLARE V_SUBMIT_DATE DATE;

                DECLARE V_SELL_ID DECIMAL(16, 0);

                DECLARE V_BUY_ID

                DECIMAL(16, 0);

                set V_SELL_ID = (SELECT COALESCE(RECEIVE_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);

                set V_BUY_ID = (SELECT COALESCE(PAY_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);

                set V_SUBMIT_DATE = (SELECT DATE(MAX(A.SUBMIT_DATE)) FROM AM_AUDIT_QUEUE A,SM_US

                ER B,SM_USER C

                WHERE A.TABLE_CODE=’IS_ORDER’

                AND A.TABLE_ROW_ID=IN_ROW_ID

                AND A.AUDIT_EMP_ID=C.ROW_ID AND C.BRANCH_ID=V_BUY_ID --審核方為付款方 AND A.SUBMIT_EMP_ID=B.ROW_ID AND B.BRANCH_ID=V_SELL_ID); --提交方為收款方

                RETURN V_SUBMIT_DATE;

                END;

                #SYNC 10;
             

            亚洲国产香蕉人人爽成AV片久久| 精品久久8x国产免费观看| 久久久久97国产精华液好用吗| 久久93精品国产91久久综合 | 亚洲欧洲日产国码无码久久99| 久久综合九色综合网站| 久久99亚洲网美利坚合众国| 一本大道加勒比久久综合| 久久99热这里只有精品66| 97久久超碰成人精品网站| 亚洲精品NV久久久久久久久久 | 久久国产成人| 久久婷婷五月综合97色一本一本 | 国产99久久九九精品无码| 2020国产成人久久精品| 伊人热人久久中文字幕| 伊人久久综合成人网| 久久中文精品无码中文字幕| 久久99亚洲网美利坚合众国| 中文精品99久久国产 | 久久综合狠狠综合久久激情 | 99精品伊人久久久大香线蕉| 伊人久久综合无码成人网| 午夜视频久久久久一区 | 看全色黄大色大片免费久久久 | 久久天天躁狠狠躁夜夜躁2O2O| 久久国产香蕉一区精品| 久久免费视频观看| 国产精品一区二区久久| 久久婷婷色综合一区二区| 国产福利电影一区二区三区久久久久成人精品综合 | 久久免费视频6| 久久精品无码av| 久久九九免费高清视频| 久久久久亚洲?V成人无码| 久久亚洲电影| 无码乱码观看精品久久| 免费精品久久天干天干| 亚洲中文字幕无码一久久区| 欧洲精品久久久av无码电影| 久久精品亚洲中文字幕无码麻豆|