【问题标题】:calling stored procedure using output parameter which is ref cursor by zend framework 1使用输出参数调用存储过程,输出参数是 zend 框架 1 的 ref 游标
【发布时间】:2014-05-15 13:43:40
【问题描述】:

我有以下oracle程序:

TYPE VarRecCur IS RECORD (
     CustomerId     Customer.CustomerId%TYPE,
     Name           Customer.Name%TYPE
     );

TYPE VarCursor_CUSTOMER IS REF CURSOR RETURN VarRecCur;

PROCEDURE PROC_Customer(pCustomerId IN VARCHAR2,RECOUTPUT IN OUT VARCURSOR_CUSTOMER)
IS
BEGIN
   OPEN RECOUTPUT FOR
   SELECT CustomerId, Name FROM Customer
   WHERE CustomerId =  pCustomerId
END PROC_Customer;

现在我尝试使用 zend 框架 1 中的 zend-db 获取客户数组,但我做不到,这是我的尝试:

require_once 'Zend/Db/Statement/Oracle.php';

$db = Zend_Db::factory ( 'pdo_oci', array ('dbname' => DB_SERVER,'username' => 'user','password' => 'pass') );
$stmt = new Zend_Db_Statement_Oracle($db, "begin PROC_Customer('1',:cursor); end;");
$cursor = new Zend_Db_Cursor_Oracle($db);
$stmt->bindCursor('cursor', $cursor);
$stmt->execute();
var_dump($cursor);

我让它工作了,我必须向我的 zend 库添加更多新文件,我的问题是有另一种方法来使用输出参数调用存储过程,它是 zend 框架 1 库的 ref cursor?

问候

【问题讨论】:

    标签: php oracle zend-framework stored-procedures zend-db


    【解决方案1】:

    我在另一个问题上写了这个answer,也许它会对你有所帮助。
    它是为 MySql 的,所以我没有测试,但我像你一样使用 pdo。

    【讨论】:

      猜你喜欢
      • 2017-07-19
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多