F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-05 #1 在SQL2000编写一个存储过程.<br>我在DELPHI中或者查询分析器中运行,如遇数据约束外键或其他错误时,此过程会中断执行.<br>我想要求它遇到错误时,回滚到执行初始状态.请大伙帮忙?<br>我想到用事务,不知如何使用?
在SQL2000编写一个存储过程.<br>我在DELPHI中或者查询分析器中运行,如遇数据约束外键或其他错误时,此过程会中断执行.<br>我想要求它遇到错误时,回滚到执行初始状态.请大伙帮忙?<br>我想到用事务,不知如何使用?
F frankie_24 Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-05 #2 BEGIN TRAN <br>COMMIT<br>ERROR<>0<br>ROLLBACK
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #3 ERROR<>0语法不对<br>CREATE PROCEDURE [aa] AS<br>BEGIN<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br>END<br><br>帮我修改上一过程,在其错误时,回滚全部.<br><br>谢谢
ERROR<>0语法不对<br>CREATE PROCEDURE [aa] AS<br>BEGIN<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br>END<br><br>帮我修改上一过程,在其错误时,回滚全部.<br><br>谢谢
薛 薛磊磊 Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #4 begin tran<br>CREATE PROCEDURE [aa] AS<br>BEGIN<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br>END<br>if @@error<>0 <br> ROLLBACK TRAN
begin tran<br>CREATE PROCEDURE [aa] AS<br>BEGIN<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br>END<br>if @@error<>0 <br> ROLLBACK TRAN
G Godfear Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #5 Post <br>try<br> StartTransaction <br> ApplyUpdates <br> CommitUpdates <br> session.Commit <br>except<br> session.Rollback <br>end;
Post <br>try<br> StartTransaction <br> ApplyUpdates <br> CommitUpdates <br> session.Commit <br>except<br> session.Rollback <br>end;
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #6 CREATE PROCEDURE [aa] AS<br>BEGIN<br> begin tran<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br> if @@error<>0 <br> ROLLBACK TRAN <br>END<br>是不是应该这样?
CREATE PROCEDURE [aa] AS<br>BEGIN<br> begin tran<br> INSERT a VALUES(1) //这句会被执行<br> INSERT a VALUES(2) //外键错误.<br> if @@error<>0 <br> ROLLBACK TRAN <br>END<br>是不是应该这样?
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #7 To Godfear:<br>是不是在SQL语句中实现更好些.<br>另外:我用的ADO. session是不是BDE中的.
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-16 #8 [red]用@ERROR判断是不是麻烦了点?[/red]<br>@@ERROR 返回此错误信息代码,直到另一条 Transact-SQL 语句被执行。您可以在 sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息。<br><br>由于 @@ERROR 在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。
[red]用@ERROR判断是不是麻烦了点?[/red]<br>@@ERROR 返回此错误信息代码,直到另一条 Transact-SQL 语句被执行。您可以在 sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息。<br><br>由于 @@ERROR 在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。