我有以下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游标?
对
我写这个答案是为了回答另一个问题,也许它会对你有所帮助。
这是MySql,所以我没有测试,但我使用pdo像你。