SQL代码在Oracle SQL Developer中有效,但在PHP PDO中无效 例如:
$sql = <<<SQL
var sss varchar2(1000);
begin
:sss := AFACE_WWW_PNAL_SAVE(
54687,
10.66,
'Description'
);
end;
SQL;
$pdo->prepare($sql);
$pdo->query($sql); -- Exception
错误:SQLSTATE [HY000]:常规错误:900 OCIStmtExecute:ORA-00900:无效的SQL语句
如何获取“ sss”变量的结果?
答案 0 :(得分:5)
我不知道是否在那里甚至允许使用PL / SQL块,但是如果是这样,您可能会在一开始就错过一个DECLARE
。
但是您不需要PL / SQL从函数中获取值。您可以查询dual
。
SELECT aface_www_pnal_save(54687, 10.66, 'Description') sss
FROM dual;