我有一个需要用perl处理的简单插入语句
insert into table
select column1, column2, column3 from table
where condition;
如果我在Oracle中手动运行该语句,它可以正常工作并插入行。
但是当我想在我的perl代码中执行它
$dbh = DBI->connect("dbi:Oracle:$dsn", $usr,$pw, {AutoCommit => 1,RaiseError=>1,PrintError=>1}) || die "connection failure";
$dbh->{HandleError} = sub {
print "Error: $DBI::errstr";
$errmsg = "$DBI::errstr";
if ($stmt) {
$stmt->finish();}
$dbh->disconnect();
croak { message=> $errmsg } ;
};
$stmt = $dbh->prepare($expanded_sql) || die "prepare failed";
$stmt->execute() || die "executing failed";
$stmt->finish();
$dbh->disconnect;
perl代码似乎正在正常运行,但是没有数据插入Oracle DB。知道我在做什么错吗?