存储过程怎么改才能将输入参数JSON_STR中的Sex赋值给V_Sex

非著名魔兽解说 发布于 2016/09/13 17:09
阅读 221
收藏 0
SQL

@IdleMan 你好,想跟你请教个问题:

CREATE OR REPLACE PROCEDURE "UPDATE"  (
PAGE_NO   IN  VARCHAR2,FUN_ID    IN VARCHAR2,JSON_STR  IN  VARCHAR2
)
 IS
/*
*假设 JSON字符串 JSON_STR内容为 {
            "Name": "张三","Sex": "男","Age": "28","Dep": "销售部",
           }
*/

V_Sex       VARCHAR2(200);
BEGIN
SELECT JSON_VALUE('JSON_STR', '$.Sex') into V_Sex ;--这句话要怎么改才能将输入参数JSON_STR中的Sex赋值给V_Sex  
……  
END  

加载中
0
IdleMan
IdleMan

V_Sex :=JSON_VALUE(JSON_STR, '$.Sex')

或者

select JSON_VALUE(JSON_STR, '$.Sex') into V_Sex from dual;

0
非著名魔兽解说
非著名魔兽解说

引用来自“IdleMan”的评论

V_Sex :=JSON_VALUE(JSON_STR, '$.Sex')

或者

select JSON_VALUE(JSON_STR, '$.Sex') into V_Sex from dual;

上面那种不行,提示:
[SQL]declare
  addr varchar2(200);
begin
addr := JSON_VALUE('{usercd:100}', '$.usercd') ;
  dbms_output.put_line(addr);
end
commit;
[Err] ORA-06550: line 4, column 9:
PLS-00201: identifier 'JSON_VALUE' must be declared
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored


下面那种可以。
返回顶部
顶部