|
|
使用IBM DB2数据库时必须了解的几个知识点
( 2008/7/18 16:19 )
使用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_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;
|
·使用access数据库时可能用到的数据转换 (8-15) ·SQL Server数据库内存会不断增加的问题分析 (8-14) ·用最简单的步骤备份sql数据库的文件到本地 (8-14) ·MySQL数据库中设列的默认值为Now()的介绍 (8-14) ·详细讲解优化MySQL数据库性能的十个参数 (8-13) 热议文章·中联通中电信或将联手对抗中移动 (8-12) 评:多模手机是将来手机生产的发展方向。以前的电视机一般只支持一种制式,要么PLA制,... ·中电信加强约束联通借调人员 力保C网运行 (8-4) ·李进良:中移动应实现G网用户携号转向TD (7-31) ·华为上半年增收50%达122亿美元 (7-30) ·我的e家遭家庭计划冲击 中移动掀家庭市场之战 (7-25) ·关于CDMA发展危机的三大理由 (7-23) ·中移动拟大规模扩容 为选择WCDMA打基础 (7-23) ·设计局域网几个重要因素分析 (8-15) ·无线视频监控技术新突破 (8-15) ·户外电源节能减排及艾默生新一代户外电源解决方案 (8-15) ·详谈VoIP安全漏洞以及防护办法 (8-15) ·讲解SQL Server安装sp4补丁报错的解决方法 (8-15) ·SQL存储过程和触发不能使用USE的应对方法 (8-15) |
|||||||||||||||
|