我如何执行功能?

时间:2018-12-29 06:04:15

标签: sql oracle pdo

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”变量的结果?

1 个答案:

答案 0 :(得分:5)

我不知道是否在那里甚至允许使用PL / SQL块,但是如果是这样,您可能会在一开始就错过一个DECLARE

但是您不需要PL / SQL从函数中获取值。您可以查询dual

SELECT aface_www_pnal_save(54687, 10.66, 'Description') sss
       FROM dual;