Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用oracle db连续运行多个更新| perl_Oracle_Perl - Fatal编程技术网

使用oracle db连续运行多个更新| perl

使用oracle db连续运行多个更新| perl,oracle,perl,Oracle,Perl,各位 有没有一种方法可以连续执行一系列更新并插入到oracle数据库中 我得到的是类似的东西,但它不工作,也没有返回错误消息 my $query = "UPDATE ...; UPDATE...; INSERT...;" $sth = $db->prepare($query); $sth->execute() or die $sth->errstr; if ($sth->err){ $content .= "error code: " . $sth->err

各位

有没有一种方法可以连续执行一系列更新并插入到oracle数据库中

我得到的是类似的东西,但它不工作,也没有返回错误消息

my $query = "UPDATE ...; UPDATE...; INSERT...;"
$sth = $db->prepare($query);
$sth->execute() or die $sth->errstr;
if ($sth->err){
    $content .= "error code: " . $sth->err . "msg:" . $sth->errstr;
}

提前谢谢

不,这是不可能的。根据:

多个SQL语句不能组合在一个语句句柄中($sth)


我认为,做出此决定是出于安全考虑,是为了提供额外的保护。

一种解决方法是将更新/插入逻辑放入存储过程中,并从Perl调用该存储过程,使用
prepare
execute
,或者(如果只需要调用一次)
do

使用
->do
代替
->执行
?@mob我试过$db->do($query);但它不起作用。请尝试“开始$query结束