【问题标题】:ORA-40593: name conflicts were found during execution of DBMS_JSON.CREATE_VIEW: nameORA-40593: 在执行 DBMS_JSON.CREATE_VIEW 期间发现名称冲突:名称
【发布时间】:2021-12-18 04:55:14
【问题描述】:

使用 JSON_DATAGUIDE 创建视图时:

declare
  dg clob;
BEGIN
  SELECT json_dataguide(json_document, dbms_json.FORMAT_HIERARCHICAL, dbms_json.pretty) into dg
  FROM STATION_INFORMATION;
 
  dbms_json.create_view('STATION_INFORMATION_VIEW', 'STATION_INFORMATION', 'JSON_DOCUMENT', dg);
END;
/

我收到以下错误:

ORA-40593: name conflicts were found during execution of DBMS_JSON.CREATE_VIEW

【问题讨论】:

    标签: sql json database oracle


    【解决方案1】:

    当数据指南在多个上下文中使用相同的 JSON 键名时会发生这种情况。您可以指定 resolveNameConflicts => true 让它自动使名称唯一。

    declare
      dg clob;
    BEGIN
      SELECT json_dataguide(json_document, dbms_json.FORMAT_HIERARCHICAL, dbms_json.pretty) into dg
      FROM STATION_INFORMATION;
     
      dbms_json.create_view('STATION_INFORMATION_VIEW', 'STATION_INFORMATION', 'JSON_DOCUMENT', dg, resolveNameConflicts => true);
    END;
    /
    

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 2018-08-24
      • 1970-01-01
      • 2017-10-31
      • 2023-02-10
      • 1970-01-01
      相关资源
      最近更新 更多