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

所属分类: 脚本专栏 / perl 阅读数: 1978
收藏 0 赞 0 分享

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

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

更多精彩内容其他人还在看

Perl文件读取的经典用法分享

Perl文件读取的经典用法,有需要的朋友可以参考下
收藏 0 赞 0 分享

perl大文件读取处理的模块介绍

perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作
收藏 0 赞 0 分享

perl跳过首行读取文件的实现代码

要求直接跳过第一行,然后读取后面的内容,以下代码来自网络,感谢原作者的辛苦劳动,顺祝新年快乐
收藏 0 赞 0 分享

Perl split字符串分割函数用法指南

本文向大家简单介绍一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中
收藏 0 赞 0 分享

perl数组的多数字下标示例代码

perl数组中正常的下标运算,想必大家都比较熟悉,这里不作说明。本文想说的是perl数组下标的多数字取值,可以极大的方便数组的操作
收藏 0 赞 0 分享

perl对m x n类似表进行按列排序的代码

perl对m x n类似表进行按列排序的代码,有需要的朋友可以参考下
收藏 0 赞 0 分享

perl常量、多维数组及变量的初始化的实例代码

perl常量、多维数组及变量的初始化的例子,供大家学习参考
收藏 0 赞 0 分享

perl的logwrapper使用实例代码

perl的logwrapper可以对任何的函数将标准输出和错误输出重定向到对应的log文件
收藏 0 赞 0 分享

Perl中处理时间的几个函数

本文为大家介绍Perl中处理时间的几个函数,供大家学习参考
收藏 0 赞 0 分享

perl上下文介绍

了解perl的朋友,都知道perl上下文在perl编程中的重要性,这里粗浅的作下介绍,供初学的朋友参考
收藏 0 赞 0 分享
查看更多