准备命令不适用于 DBI

prepare command not working with DBI

我正在尝试这样做,但它不起作用

 my $sql2 = "SELECT CODE_ID,NAME_CODE,SUM(INR_COL + OUT_COL) AS \"TOTAL SUM\" FROM nwsa WHERE trunc(REPORT_DATE) = to_date('?','dd-mm-yyyy')AND CODE_ID IN (?,?,?,?,?,?,?,?,?,?,?)GROUP BY CODE_ID,NAME_CODE"; 
     $sth ->prepare($sql2);
     my $t= "06-01-2017";

     $sth->execute($t,'A12A','A12B','A12C','A12D','A12E','A12EB','A12F','A12G','A12I','A12O','A12U');

你有:

$sth ->prepare($sql2);

你需要:

my $sth = $dbh->prepare($sql2);

https://metacpan.org/pod/DBI#prepare

也可以考虑prepare_cached方法,这取决于你实际在做什么:

https://metacpan.org/pod/DBI#prepare_cached