DELETE FROM HumanResources.JobCandidate WHERE JobCandidateID = 12;COMMIT TRANSACTION;如果第一个delete语句失败怎么办第二和第三删除语句会被执行吗?该示例没有任何错误处理,是在异常情况下保留一个打开的事务,还是Server自动回滚事务?打开事务=锁定资源,对吗?我正在决定是否必须将TRY...CATCH应用于使用<
Server 2008有一个新的try/catch结构。如果在嵌套存储过程序列中遇到错误,我喜欢在错误表中记录调用堆栈。问题是,如果我已经启动了一个事务(对于更新db的操作是正确的),那么在try/catch语句的catch部分中的代码回滚事务时,写入错误表的记录将被删除。任何关于我如何绕过这件事的暗示都是受欢迎的。
我希望能够在Mysql中轻松地调试我的脚本,就像在MSSQL中那样(运行脚本的一部分然后验证表等等),但是临时表不会被保存在服务器上。例如:INSERT INTO a VALUE (1);如果运行整个脚本,它将返回正确的结果,但如果我在insert上按语句运行它,则会得到以下错误:
我想这是一个服务器配置问题。