• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 经验总结:使用IBM DB2数据库的注意事项

经验总结:使用IBM DB2数据库的注意事项

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了经验总结:使用IBM DB2数据库的注意事项等相关知识,希望本文的分享对您有所帮助
</div>

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;

</div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-28IBM DB2 简介
  • 2017-06-28FAQ:关于 DB2 数据服务器使用的常见问题
  • 2017-05-11用shell抽取,更新db2的数据
  • 2017-06-28了解 IBM Data Studio Version 2 软件打包方式
  • 2017-06-28浅谈IBM DB2的数据库备份与恢复
  • 2017-06-28选择适合自己的DB2 9.5客户机连通性选项
  • 2017-06-28DB2:信息管理 尽在掌握
  • 2017-06-28DB2 最佳实践: 使用虚拟化来提高数据服务器利用率和对数据服务器的管理
  • 2017-06-28DB2基础:表空间和缓冲池
  • 2017-06-28在 Linux 上利用数据分区功能提高可伸缩性和性能

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 用WebSphere Studio Device Developer开发一个基于DB2 Everyplace V8.1的Palm OS应用
    • DB2 命令行处理器(CLP)中的常用命令
    • DB2 9与Microsoft Access 2007(二)
    • 有关DB2数据库备份参数修改后报错问题
    • 诊断 DB2 Java 应用程序的性能问题 (2)
    • DB2性能监控 1——快照
    • DB2 9.5中多线程架构的工作原理
    • 使用 DB2 Warehouse V9.5 实现文本分析
    • 为 Linux 或 UNIX 版本 SAP 安装多个 DB2 9 数据库服务器
    • 使用IBM DB2数据库的注意事项

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有