`
ShellyLi
  • 浏览: 114603 次
  • 性别: Icon_minigender_2
  • 来自: 山东
社区版块
存档分类
最新评论

Perl 数据库事务处理(提交和回滚)

    博客分类:
  • perl
阅读更多
use DBI qw(:sql_types); 

 

my $dbh = DBI->connect('dbi:mysql:sample_db','root','password',{ 

                           PrintError => 0, 
                           RaiseError => 1, 
                           AutoCommit => 0 
                         } 
          ) or die "Connection to sample_db failed: $DBI::errstr"; 

my @rows = (  
                [ 'A', 3, 5 ], 
                [ 'B', 2, 3 ], 
               [ 'C', 2, 0 ], 
                [ 'D', 6, 0 ], 
           ); 
my $sql = qq{ INSERT INTO teams VALUES ( ?, ?, ? ) }; 
my $sth = $dbh->prepare( $sql ); 
foreach $param (@rows) { 
    eval {  
        $sth->bind_param( 1, $param->[0], SQL_VARCHAR ); 
        $sth->bind_param( 2, $param->[1], SQL_INTEGER ); 
         $sth->bind_param( 3, $param->[2], SQL_INTEGER); 
         $sth->execute() or die; 
     };
if( $@ ) { # If eval failed. $@ is set to the error that occurred 
      warn "Database error: $DBI::errstr\n"; 
      $dbh->rollback(); # Reverse all commit statements 
}else{ 
    $dbh->commit(); 
   }  

  $sth->finish(); 
$dbh->disconnect();
分享到:
评论

相关推荐

    数据库并发控制机制——事务

    这是一个关于银行的数据库的处理,模仿的是从账户1转账给...那就需要用到事务,如果没有一起执行,就回滚。这个代码比较简单,希望对大家有帮助,自己建立一个数据库bank,在里面建立一个表Account,两属性:Id,money.

    Programming Perl DBI 8

    5. **事务管理**:讨论如何使用DBI进行事务控制,确保数据的一致性和完整性,包括开始事务、提交和回滚操作。 6. **错误处理**:讲解如何捕获和处理DBI操作中可能出现的错误,以及如何设置合适的错误处理策略。 7....

    MySQL 事务预编译查询和Perl DBI简化

    1. **事务管理**:在Perl中,我们可以使用DBI的`begin_work`、`commit`和`rollback`方法来开启、提交或回滚事务。例如: ```perl $dbh->begin_work; eval { # 事务中的操作 ... $dbh->commit; }; if ($@) { ...

    PERL_DBI手册.pdf

    总体而言,DBI手册是一份详尽的参考资料,它不仅覆盖了DBI模块的使用方法,还包括了大量关于数据库操作的最佳实践和注意事项,对于任何希望提高Perl数据库编程能力的开发者来说,这份手册都是一个宝贵的资源。

    PERL_DBI手册

    DBI模块通过所谓的数据库独立层(DBI layer)来实现对不同数据库的连接和操作,它允许Perl脚本通过一个API接口来执行SQL语句和管理数据库事务。 ### DBI的基本概念和架构 DBI应用程序的架构包括DBI类、数据库...

    perl DBD-Oracle-1.22

    6. **事务处理**:DBD-Oracle支持事务处理,你可以使用`begin_work()`, `commit()`, 和 `rollback()` 方法来控制事务的开始、提交和回滚。 7. **游标和预编译语句**:DBD-Oracle允许使用游标(cursor)处理大量数据...

    perl oracle dbd zip

    6. **事务管理**:DBI支持开始、提交和回滚事务,这对于保持数据库的一致性至关重要。 7. **错误处理**:DBI提供了一个统一对错误进行捕获和处理的方法,如eval块和$dbh->errstr()。 8. **高级特性**:包括游标、...

    perl-DBI-1.40-5.i386.rar

    5. **事务管理**:支持开始、提交、回滚事务,确保数据的一致性和完整性。 6. **连接池**:DBI可以通过其特性支持数据库连接池,提高系统资源利用率并降低数据库负载。 7. **扩展性**:DBI的设计允许轻松添加新的...

    Perl-DBI编程

    1. **事务处理**:使用`$dbh->begin_work()`开始一个事务,使用`$dbh->commit()`提交事务或`$dbh->rollback()`回滚事务。 2. **存储过程调用**:通过`$sth->call({-name => 'proc_name', -params => \@params})`调用...

    Perl.DBI手册中文翻译版.pdf

    DBI提供了一套数据库访问的通用接口,使得Perl脚本可以执行SQL语句、获取结果集以及处理事务等。 ### DBI 架构 DBI应用程序的架构通常包括以下几个层次: - **数据库抽象层(DBI)**:定义了Perl脚本与数据库通信...

    DBD-Mysql模块

    5.事务处理:DBD-Mysql支持事务管理,包括开始事务、提交事务和回滚事务,以确保数据的一致性和完整性。 6. 错误处理和调试:当发生错误时,DBD-Mysql会返回错误代码和消息,帮助开发者定位问题。同时,它还提供了...

    DBI-1.631.tar.gz

    总结来说,DBI-1.631是Perl数据库编程的重要工具,它提供了标准接口来连接和操作不同类型的数据库。通过其丰富的特性和驱动器支持,开发者可以编写高效、灵活且易于维护的数据库应用程序。在实际项目中,理解并熟练...

    关于perl DBI的方法使用

    Perl DBI(Database Interface)是Perl语言中用于数据库交互的标准接口,它允许程序员与各种不同的数据库管理系统(DBMS)进行通信。...无论是在小型脚本还是大型应用程序中,DBI都是Perl数据库编程的重要工具。

    NT下Perl访问Oracle所需模块.rar

    DBD::Oracle是DBI的一个驱动,专为Oracle数据库设计,提供了连接、查询、事务处理等数据库操作的功能。 安装DBD::Oracle通常需要以下几个步骤: 1. 确保已经安装了Perl环境。 2. 安装Oracle的客户端软件,包括oci....

    数据库 MySQL Enterprise 5.0.pdf

    此外,MySQL提供了完整的ACID(原子性、一致性、隔离性、持久性)事务处理支持,包括提交、回滚、崩溃恢复和行级锁定,确保了数据的完整性和一致性。 MySQL在开源软件领域的成功,特别是在LAMP(Linux、Apache、...

    数据库Oracle Database 11g.pdf

    Oracle 11g的核心特性包括其强大的ACID(原子性、一致性、隔离性、持久性)事务处理能力,支持提交、回滚、崩溃恢复和行级锁定,确保了数据处理的准确性和一致性。此外,通过服务器强制执行的参照完整性,Oracle 11g...

    DBD::Oracle

    3. **事务处理**:DBD::Oracle 支持事务的开始、提交、回滚,这对于确保数据的一致性和完整性至关重要。用户可以使用begin_work、commit和rollback方法来控制事务。 4. **游标处理**:在Oracle中,游标允许程序逐行...

    DBI-1.618.tar.gz

    7. 事务处理:DBI支持开始、提交和回滚事务,这对于保持数据的一致性和完整性至关重要。通过begin_work(), commit()和rollback()函数,可以控制事务的生命周期。 8. 错误处理:当发生错误时,DBI会设置错误码和错误...

    DBI-1.615.tar.gz

    总的来说,DBI是Perl数据库编程的关键工具,它的强大功能和灵活性使得在Perl中处理数据库任务变得简单而高效。无论你是新手还是经验丰富的开发者,理解并熟练使用DBI都能极大地提升你的数据库应用程序的质量和性能。

    perl-dbd-nuodb:用于NuoDB的Perl DBD模块

    它可以处理事务的提交、回滚和保存点。 5. 错误处理:当发生错误时,模块会抛出异常,允许程序员捕获并处理错误。 6. 兼容Perl DBI:由于`perl-dbd-nuodb` 遵循DBI标准,它与其他DBD模块保持一致的接口,使得熟悉...

Global site tag (gtag.js) - Google Analytics