我是oracle的新手,我从sql代码块中读取输出参数时遇到了问题。我搜索了许多手册和教程,但我仍然无法帮助自己。
$sql = "declare
A varchar2(16);
docs.InsT(...);
end;";
$stid = oci_parse($conn, trim($sql));
oci_execute($stid);
oci_commit($conn);
我需要A的值,但我不能重命名它。
感谢您的帮助。
答案 0 :(得分:0)
如果您尝试在PHP中读取“A”的值,则必须使用绑定变量。您还需要将bind变量作为引用传递。由于你不能重命名你的A变量,你可以做这样的事情......
$rVal = '';
$sql = "declare
A varchar2(16);
docs.InsT(...);
:rVal := A;
end;";
$stid = oci_parse($conn, trim($sql));
oci_bind_by_name($stid, ':rVal', &$rVal, 16);
oci_execute($stid);
oci_commit($conn);
var_dump($rVal);
$ rVal 现在包含来自oracle的 A 值。