
我是这样做的
my $out = "/Users/zero/out.log";my $filename = "/Users/zero/data.txt";my $dbh = DBI->connect("DBI:Oracle:sID=$sID;host=$host;port=$port",$user,$pwd) or dIE "Couldn't connect to database: " . DBI->errstr;my $query = "select SOMETHING from SOMETHING_1 where SOMETHING like ?||'%' ";my $sth = $dbh->prepare($query) or dIE "Connection Error: " . $dbh->errstr;open (IN,"< $filename") or dIE("Unable to open $filename"); my @righe = <IN>;close IN;open (OUT,">$out") or dIE "Unable to open $out";foreach my $riga (@righe) { chomp $riga; (my $valore) = split (/\n/,$riga); $sth->execute($valore) ||print "Impossibile eseguire la query $query"; while (my $real = $sth->fetchrow_array) { print OUT "\"$real\"\n"; } }$sth->finish;$dbh->disconnect(); 但查询返回所有行,忽略了类似的条件.
哪里是我的错?
谢谢
解决方法 您必须将%char连接到您搜索的变量.my $query = "select SOMETHING from SOMETHING_1 where SOMETHING like ?";...$sth->execute($valore.'%') ||print "Impossibile eseguire la query $query";总结
以上是内存溢出为你收集整理的perl,dbi与sql语句具有相似的条件全部内容,希望文章能够帮你解决perl,dbi与sql语句具有相似的条件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)