关于 MS SQL 6.5 的问题!(如何捕获错误)(50分)

  • 主题发起人 主题发起人 lanny
  • 开始时间 开始时间
L

lanny

Unregistered / Unconfirmed
GUEST, unregistred user!
用 MS SQL 6.5 写了一些触发程序,我如何在其中捕获错误?

当更新时的代码:
update aa set a01=1
update bb set a02=3
我现在需要实现的是,当 update aa 或 bb 失败的时候就回滚数据。
如在 Delphi 中可以写成
Try
Update ....
Update ..
Except
回滚记录
end;

在 SQL 6.5 的触发程序中如何实现?
 
使用事务处理!
TDatabase.StartTransaction;
try
update...
Database1.Commit;
{on success, commit the changes};
except
TDatabase.Rollback;
{on failure, undo the changes};
raise;
{raise the exception to prevent a call to CommitUpdates!}
end;
Sql6.5有触发器!在后台写,
 
用Sql6.5的存储过程吧.
 
由于该系统是一个开放性的系统,所以我不能在 Delphi 或其它程序中实现,
用程序我也会:)
我需要一个在 SQL 6.5 中的解决方案。谢谢!
 
在ms server 中有事务处理!
begin
transaction
commit transaction
rollback transaction
save transaction
处理错误用ms server记录在一些系统变量里!
如果自定义错误用raiseerror!
 
如何捕获错误呢?
 
如何捕获错误呢?
请贴一个例子好吗?
 
运行完Insert,或update,ms sql server会设置一些环境变量,有点象v-foxpro;
好象是Sqlerror这个,如果错误它会返回一个值!
insert table...
if sqlerror=error then
print error;
具体用法你要查手册!sqlerror的值我记不住了!
 
查看 @@ERROR全局变量
 
接受答案了.
 
后退
顶部