perl,dbi与sql语句具有相似的条件

perl,dbi与sql语句具有相似的条件,第1张

概述在我的代码中,我必须做一个类似条件的简单SQL查询. 我是这样做的 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 "Cou 在我的代码中,我必须做一个类似条件的简单SQL查询.
我是这样做的

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语句具有相似的条件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1213410.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存