我一直在使用doctrine来调用Oracle中的存储过程:
$sql = "CALL namespace.my_proc(".$data_source_id.", to_date('".$account_period_start."', 'YYYY-MM-DD'),'".$updated_by."')";
$stmt = $this->getDoctrine()->getManager('fdw')->getConnection()->prepare($sql);
$result = $stmt->execute();
$stmt->closeCursor();
现在,DBA团队已经更改了其中一个存储过程以接受2个输出参数(x和y),我不知道如何实现这一点。有人可以帮助我吗?
谢谢
答案 0 :(得分:3)
我能够找到信息。希望它可以帮到某人。
$sql = "CALL namespace.my_proc(".$data_source_id.", to_date('".$account_period_start."', 'YYYY-MM-DD'),'".$updated_by."', :x, :y)";
$stmt = $this->getDoctrine()->getManager('fdw')->getConnection()->prepare($sql);
$stmt->bindParam(':x', $x, \PDO::PARAM_INPUT_OUTPUT, 32);
$stmt->bindParam(':y', $y, \PDO::PARAM_INPUT_OUTPUT, 32);
$result = $stmt->execute();