如何从yii应用程序执行ORACLE存储过程?

时间:2014-05-09 13:23:12

标签: php oracle stored-procedures yii

我想创建一个存储过程,它将字符串数组作为输入并返回行,并使用(Yii)php将数据返回给UI。我用google搜索并得出结论,使用refcursor我们可以返回行类型的数据。在

中提到

[http://www.oracle.com/technetwork/articles/fuecks-sps-095636.html][1]

如下所示

 create PROCEDURE latest(
    num_entries_in IN NUMBER,
    entries_cursor_out OUT cursorType
) AS

    BEGIN

        OPEN entries_cursor_out FOR
            SELECT * FROM blogs WHERE rownum < num_entries_in
            ORDER BY date_published DESC;

    END latest;

但问题是我想在yii框架中绑定游标数据或者如何从yii执行该存储过程并获取该查询的执行情况?

1 个答案:

答案 0 :(得分:0)

protected/config/config.php配置数据库中。

'db'=>array
(
    'class'=>'CDbConnection',
    'connectionString'=>'oci:dbname=dbhost:dbport/orcl;charset=UTF8'
    'username'=>'###',
    'password'=>'###',
),

要调用存储过程,请在模型/控制器中添加此代码。

$command = Yii::app()->db->createCommand('call latest(num_entries_in,entries_cursor_out )');
$command->execute();
print_r($command->queryRow());