嗨,我想通过触发器存储:new.payload中的一些值。
这适用于sql-developer,但不适用于触发器...
select json_value('{"timestamp":"2019-05-09T14:00:00Z","value":0,"unit":"W/m²"}', '$.unit') from dual;
'{“ timestamp”:“ 2019-05-09T14:00:00Z”,“ value”:0,“ unit”:“ W /m²”}'是我的:new.payload
我也尝试过
SELECT unit INTO v_unit
FROM
json_table(:new.payload, '$'
columns (
timestamp VARCHAR2(80) path '$.timestamp',
value NUMBER path '$.value',
unit VARCHAR2(80) path '$.unit'
)
) jt;
我收到错误ORA-00904:“ DECL_OBJ#”; /
(错误:ORA-00604:递归错误SQL级别1 ORA-00904:“ DECL_OBJ#”:无效的ID)
答案 0 :(得分:1)
这是一个疯狂的猜测,但请尝试以下操作:
1。打开SQL Developer,将PLScope标识符参数(工具>首选项>数据库> PL / SQL编译器> PLScope标识符)从全部设置为无。