今天终于完成了数据上载的智能修改, 就是说只修改数据有变化的列.
比如我们的库存表, 有50个列, 52% 的UPDATE仅修改"价格/price"一列.
可是遇到了一个极其古怪的臭虫, 如下所示, 一个简单的Loop循环, 漏掉了End Loop后面的分号";", 程序居然通过了编译,而且运行时也没有报错, 就是 End Loop 后面的语句被当成注释一样给跳过了. 这样的错误太难debug了, 幸好我充分的运用了code instrument技术, 几乎每一行代码都跟了一句debug (类似log4j), 很快找到了错误所在.
...
run_bulk_update;
FOR i in 1 .. lt_top_pattern.Count
Loop
run_bulk_update_tophit(p_hit_cols => lt_top_pattern(i));
End Loop ;
run_bulk_insert;
save_col_upd_pattern;
...
数据库版本是11.1.0.7.0, SunOS 5.10
The Date
June 28th 2009
The Float
Skutz Falls to Marie Canyon - 2hr ride, not including optional time spent beached
Equipment needed
- Tube - If you don't have one, we can buy them at the local tire shop in Duncan for $20 or Zellers in Tillicum Mall has These for $24 (BESTEST TUBE EVEEER!!!!)
- Beverages - What ever you feel like drinking (NO GLASS BOTTLES ALLOWED)
- Cooler(s) - Communal, if anybody has a big cooler that would be great
- Cooler Tube - Gets blown up around the cooler to keep it a float and safe (also acts as an emergency spare)
- River Shoes - I use a old pair of runners, some sort of footware is a must(IMO)
- Rope - Or bungy to tie tubes to the trucks
- Sunscreen!!
- What ever else you might want to bring
The Time Line
- 9 AM - Meet at ABE
- 9:30 AM - Leave for Duncan
- 10:15 AM - Buy Tires and Snacks if wanted
- 10:30 AM - Buy Beverages and head off
- 11:00ish AM - Start Tube ride
- Enter time warp time can not be quantified
The Tubers
- Doug - Have Car will drive
- Megan - Has Car if needed
- Charlie - Will go if I can find someone take care of my puppy and my shin wound recovered.
