使用DB2必须了解的几个知识点

 
   | |

导读:本文着重介绍在IBM DB2数据库时必须了解的几个知识点:第一、在安装DB2数据库后,你可以通过命令行方式或图形界面方式来操作;第二控制中心中无法增删改数据……

关键词:IBM IBM DB2 使用DB2注意事项 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;

原文出处:http://windows.chinaitlab.com/skill/7534.html
 
来源:中国IT实验室    
 
 
 
 
 

DB2安装与升级

 
夏洛特的可口可乐装瓶工厂是全美第二大的,他们已经将22个SAP系统迁移到DB2数据库上了,还有10个左右的Oracle数据库还在使用。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录