空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks
          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.哈哈,今天幫別人弄存儲過程的經驗@04.08.05

            搞了半天搞不定,一查原來的文檔才了,原來tmd該死的DB2的存儲過程,是轉換為C后,進行編譯的。因此在數據庫服務器上要安裝一個C編譯器才能完成存儲過程的編譯。并且需要使用DB2SET命令,設置DB2_SQLROUTINE_COMPILER_PATH指向C編譯器的安裝路徑。如:db2set

            DB2_SQLROUTINE_COMPILER_PATH=E:\ProgramFiles\MicrosoftVisualStudio\VC98\Bin\vcvars32.bat

            9.對變量的賦值不能用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_USER 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;

            10.DB2的游標打開后遇到commit和rollback默認是會關閉的。保持游標打開的方法是在定義游標時加上with hold選項

            11.F:導出某張表的數據,且該表包含long varchar型數據,該如何操作Q:Export:db2 connect to [dbname] user [user] using [password]db2move [dbname] export -tn [tablename] -u [user] -p[password] (單表)db2move [dbname] export -tn [tablename1,tablename2,...] -u [user] -p [password] (多表)Import:db2move [dbname] import

           

          =============================================================================

          DB2上機操作指令指南


          1. 啟動實例(db2inst1):

            db2start

            2. 停止實例(db2inst1):

            db2stop

            3. 列出所有實例(db2inst1)

            db2ilist

            5.列出當前實例:

            db2 get instance

            4. 察看示例配置文件:

            db2 get dbm cfg|more

            5. 更新數據庫管理器參數信息:

            db2 update dbm cfg using para_name para_value

            6. 創建數據庫:

            db2 create db test

            7. 察看數據庫配置參數信息

            db2 get db cfg for test|more

            8. 更新數據庫參數配置信息

            db2 update db cfg for test using para_name para_value

            10.刪除數據庫:

            db2 drop db test

            11.連接數據庫

            db2 connect to test

            11.列出所有表空間的詳細信息。

            db2 list tablespaces show detail

            12.列出容器的信息

            db2 list tablespace containers for tbs_id show detail

            13.創建表:

            db2 ceate table tb1(id integer not null,name char(10))

            14.列出所有表

            db2 list tables

            12.插入數據:

            db2 insert into tb1 values(1,’sam’);

            db2 insert into tb2 values(2,’smitty’);

            13.查詢數據:

            db2 select * from tb1

            14.數據:

            db2 delete from tb1 where id=1

            15.創建索引:

            db2 create index idx1 on tb1(id);

            16.創建視圖:

            db2 create view view1 as select id from tb1

            17.查詢視圖:

            db2 select * from view1

            18.節點編目

            db2 catalog tcp node node_name remote server_ip server server_port

            19.察看端口號

            db2 get dbm cfg|grep SVCENAME

            20.測試節點的附接

            db2 attach to node_name

            21.察看本地節點

            db2 list node directory

            22.節點反編目

            db2 uncatalog node node_name

            23.數據庫編目

            db2 catalog db db_name as db_alias at node node_name

            24.察看數據庫的編目

            db2 list db directory

            25.連接數據庫

            db2 connect to db_alias user user_name using user_password

            26.數據庫反編目

            db2 uncatalog db db_alias

            27.導出數據

            db2 export to myfile of ixf messages msg select * from tb1

            28.導入數據

            db2 import from myfile of ixf messages msg replace into tb1

            29.導出數據庫的所有表數據

            db2move test export

            30.生成數據庫的定義

            db2look -d db_alias -a -e -m -l -x -f -o db2look.sql

            31.創建數據庫

            db2 create db test1

            32.生成定義

            db2 -tvf db2look.sql

            33.導入數據庫所有的數據

            db2move db_alias import

            34.重組檢查

            db2 reorgchk

            35.重組表tb1

            db2 reorg table tb1

            36.更新統計信息

            db2 runstats on table tb1

            37.備份數據庫test

            db2 backup db test

            38.恢復數據庫test

            db2 restore db test

          posted on 2007-07-24 16:48 蘆葦 閱讀(1084) 評論(0)  編輯  收藏 所屬分類: 數據庫IBM
          主站蜘蛛池模板: 乐山市| 平乐县| 许昌县| 施秉县| 四会市| 昆明市| 临洮县| 乌苏市| 文水县| 武冈市| 瑞安市| 南召县| 镇平县| 大丰市| 灯塔市| 汾西县| 深泽县| 浦北县| 上栗县| 营山县| 凌源市| 江北区| 潜山县| 浑源县| 册亨县| 芮城县| 珠海市| 张掖市| 沂源县| 砚山县| 呼和浩特市| 通榆县| 虞城县| 东兰县| 雷波县| 仁寿县| 綦江县| 灵武市| 六枝特区| 南宁市| 东阿县|