首页 > 编程 > Perl > 正文

perl数据库添加、删除、更新、查询操作例子

2020-10-31 15:05:50
字体:
来源:转载
供稿:网友

注意:连接时候使用SID指定的database,所以没有在连接中指定database.

#!/usr/bin/perluse 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;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表