0
我需要從存儲過程
我有google了很多,但解決不了問題
獲取JSON數據的工作存儲過程
源代碼
$param1 = 'abc';
$param2 = '79';
$param3 = 'Y';
$param4 = 121221;
$sql1='CALL web_demo.wwv_json_data.dashboard(:param1, :param2 , :param3, :param4,@p_json)';
$qb = $em->getConnection()->prepare($sql1);
$qb->bindParam('param1', $param1, \PDO::PARAM_INPUT_OUTPUT, 4000);
$qb->bindParam('param2', $param2, \PDO::PARAM_INPUT_OUTPUT, 4000);
$qb->bindParam('param3', $param3, \PDO::PARAM_INPUT_OUTPUT, 1);
$qb->bindParam('param4', $param4, \PDO::PARAM_INPUT_OUTPUT, 4000);
$st=$qb->execute();
$st->closeCursor();
$stmt = $qb->query("SELECT @p_json as json");
$result = $qb->fetchAll(PDO::FETCH_ASSOC);
過程
PROCEDURE dashboard
(p_customer_id IN VARCHAR2 DEFAULT NULL, p_user_id IN VARCHAR2 DEFAULT NULL, p_staff IN VARCHAR2 DEFAULT NULL,p_random IN VARCHAR2 DEFAULT NULL,out p_json clob)
END dashboard
的Oracle SQL顯影劑代碼
DECLARE
v clob;
BEGIN
web_demo.wwv_json_data.dashboard('abc','79','Y',121221,v);
dbms_output.put_line(v);
END;
返回JSON
{"data":[{"open_log":46,"to_m":34,"to_clien":12,"to_m":0}]}
錯誤
An exception occurred while executing 'CALL web_demo.wwv_json_data.dashboard(:param1, :param2 , :param3, :param4,@p_json)':
SQLSTATE[HY000]: General error: 936 OCIStmtExecute: ORA-00936: missing expression
(ext\pdo_oci\oci_statement.c:148)
- 因爲我用GOOGLE搜索&發現OUT可以訪問遊標數據。
我需要
- 我需要從存儲過程中獲取JSON數據。
IM accesing了可變這樣
$stmt = $qb->query("SELECT @p_json as json"); $result = $qb->fetchAll(PDO::FETCH_ASSOC);
任何人都可以幫助我如何通過Oracle和Symfony2中使用了可變的獲取數據。