【发布时间】: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