我在oracle R12中创建了一个程序,如下所示,但我无法在YII2中得到结果。
CREATE OR REPLACE PROCEDURE myproctest(username IN OUT varchar2) is
encPass varchar2(255);
BEGIN
select
aa.ENCRYPTED_USER_PASSWORD into encPass from
fnd_user aa
where aa.USER_NAME = username;
username := encPass;
END;
当我从PLSQL执行它时它工作正常,但是当从yii2执行它时它总是显示1.以下是执行代码:
$query=Yii::$app->dboracle->createCommand(
"declare
UserName varchar2(255) := 'MY-USERNAME';
begin
myproctest(UserName);
dbms_output.put_line(UserName);
end;");
$data = $query->execute();
我也尝试过以下执行:
$query=Yii::$app->dboracle->createCommand("CALL myproctest('TEST-USER')");
$data = $query->execute();
但它显示以下错误:
ORA-06577:输出参数不是绑定变量
我想在变量中获取密码字段,请帮忙。