惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - tangdh

个人所得税速算扣除数是怎么算的? 个人所得税税率表一(工资、薪金所得适用)(2011年9月1日起执行) PB类库网址大全 pb 函数库-打印函数 PB Send()函数应用有关数据整理 PB 函数库-数据类型检查与转换函数 DataWindow的数据管理与更新机制的研究与应用 优化你的PB程序 - tangdh - 博客园 如何复制grid类型的所选择的行的数据到系统剪切板 PB 的 error.number 列表 - tangdh 在PowerBuilder的DataWindows.ItemChanged事件中修改当前单元格值的方法 sql 收藏 浪潮财务从一套帐备份到另一套帐 酒桌上的潜规则,男人必学,女人必知 excel个人所得税计算公式 全国大学FTP站列表 使用命令行IPSec封锁端口 pb11.2 转asp.net成功 [ASP.Net 2.0] TreeView只能用XML資料的解決之道
PB开发境界 多个DW进行update
tangdh · 2010-06-01 · via 博客园 - tangdh

多个DW进行update

//菜鸟代码
dw_1.Update()
dw_2.Update()
初级代码
IF dw_1.Update() = 1 And dw_2.Update() = 1 THEN
        COMMIT;
ELSE
        ROLLBACK;
END IF
中级代码
IF dw_1.Update() = 1 THEN
        IF dw_2.Update() = 1 THEN
                COMMIT;
        ELSE
                MessageBox("提示","喝多了!")
                ROLLBACK;
        END IF
ELSE
        MessageBox("提示","喝多了!")
        ROLLBACK;
END IF
高级代码
IF dw_1.Update() = 1 THEN
        IF dw_2.Update() = 1 THEN
                COMMIT;
        ELSE
                ROLLBACK;
                MessageBox("提示","少喝点!")
        END IF
ELSE
        ROLLBACK;
        MessageBox("提示","少喝点!")
END IF
专家级代码
IF dw_1.Update(True,False) = 1 THEN
        IF dw_2.Update(True,False) = 1 THEN
                dw_1.ResetUpdate()
                dw_2.ResetUpdate()
                COMMIT;
        ELSE
                ROLLBACK;
                MessageBox("提示","没喝高啊!")
        END IF
ELSE
        ROLLBACK;
        MessageBox("提示","没喝高啊!")
END IF

多个DW进行update,有时会不能全部成功update 用事务处理时,多个DW进行update后,再COMMIT.偶然会发现前面几个DW update成功,但后面的表失败时,好像执行了COMMIT,不会rollback.

正确的写法如下:
if dw_1.update(true, false)= 1 and dw_2.update(true, false)=1 ...then
  commit;
  dw_1.resetUpdate();
  dw_2.resetUpdate();

else
  rollback;
end if