perl oracle动态更新多个字段,perl数据库添加、删除、更新、查询操作例子

#!/usr/bin/perl

use strict;

use warnings;

use DBI;

my $db_name="geneva_admin";

my $db_passwd="geneva_admin";

my $dbh=DBI->connect("dbi:Oracle:","$db_name","$db_passwd")

or die "Can't connect to oracle database:$DBI::errstr\n";

my $sth=$dbh->prepare("select a,b

from a_tmp

where a=2")

or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute or die "Can't execute:$DBI::errstr\n";

while (my @row = $sth->fetchrow_array()){

my ($a,$b) = @row;

print "1..\$a=$a,\$b=$b\n";

}

$sth->finish();

my $row=3;

my $sql="select a,b

from a_tmp

where a = ?";

$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute($row) or die "Can't execute:$DBI::errstr\n";

while (my @row = $sth->fetchrow_array()){

my ($a,$b) = @row;

print "2..\$a=$a,\$b=$b\n";

}

$sth->finish();

my $row_a=3;

my $row_c=0;

$sql="select a,b

from a_tmp

where a = ?

and c = ?";

$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute($row_a,$row_c) or die "Can't execute:$DBI::errstr\n";

while (my @row = $sth->fetchrow_array()){

my ($a,$b) = @row;

print "3..\$a=$a,\$b=$b\n";

}

$sth->finish();

for $row(1,2,3){

$sql="select a,b

from a_tmp

where a = ?";

$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute($row) or die "Can't execute:$DBI::errstr\n";

while (my @row = $sth->fetchrow_array()){

my ($a,$b) = @row;

print "4..\$a=$a,\$b=$b\n";

}

}

$sth->finish();

#for $row(1,2,3){

#$sql="insert into a_tmp

# values (?,?,?)";

#$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

#$sth->execute($row,$row+1,$row+2) or die "Can't execute:$DBI::errstr\n";

#}

##$dbh->commit;

#$sth->finish();

#$sql="insert into a_tmp

# values (100,30,2)";

#$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

#$sth->execute or die "Can't execute:$DBI::errstr\n";

##$dbh->commit;

#$sth->finish();

for $row(1,2,3){

$sql="update a_tmp

set b = ?

, c = ?

where a = ?";

$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute($row+100,$row+50,$row) or die "Can't execute:$DBI::errstr\n";

}

#$dbh->commit;

$sth->finish();

for $row(1,2,3){

$sql="delete from a_tmp

where c=2";

$sth=$dbh->prepare($sql) or die "Can't prepare SQl prepare:$DBI::errstr\n";

$sth->execute or die "Can't execute:$DBI::errstr\n";

}

#$dbh->commit;

$sth->finish();

$dbh->do("insert into a_tmp values (1,1,1)") or die "$DBI::errstr\n";

$dbh->do("delete from a_tmp where c=51") or die "$DBI::errstr\n";

#$dbh->commit;

$sth->finish();

$dbh->disconnect;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值