敬业的IT人 >> 数据库 >> DB2 >> 教你快速掌握从DB2图表中删除若干个行

教你快速掌握从DB2图表中删除若干个行

敬业的IT人 互联网 佚名 2008-1-8 11:52:02

  问:“怎样从DB2图表中删除若干个行?”

  答:“首先,你需要更新你的"关系型"数据库管理系统的知识. 在图表中没有"顶端"或"底端"的N个行的概念. 但对结果集有顶端或底端的概念. 你可以用FETCH FIRST N ROWS ONLY子句来得到开始的N个行,但是得到底端的N个行是更困难的问题.为实现这点,你需要用可滚动的指针.可滚动的指针允许你在不用读取/得到所有的行前在结果集里前后移动。我建议你阅读DB2 SQL参考手册和DB2应用程序手册中可滚动的指针的内容(所有的DB2手册可以从网上免费下载)。基本上你应该用可滚动的指针的FETCH LAST 语句,再用FETCH PRIOR语句循环N-1次。那将给出任何结果集的“底端”的N个行”(分类或未分类的)。

  如果你要从图表里删除N个行。我猜想你会问如何在DELETE的WHERE条件处限制行子集的删除,答案是否定的。你必须在同样WHERE条件处注明FOR UPDATE OF来打开一个指针,然后你需要在循环N次的行处打开FETCH和DELETE WHERE CURRENT OF指针。当然这意味着你必须重写一个程序。

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com