首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与DBMS_XMLGEN.getxml(查询)类似的函数是什么,对于json来说,查询是一个变量,并且带有oracle 19?

与DBMS_XMLGEN.getxml(查询)类似的函数是什么,对于json来说,查询是一个变量,并且带有oracle 19?
EN

Stack Overflow用户
提问于 2022-06-16 05:48:09
回答 1查看 59关注 0票数 0

这个问题不是这个问题的重复,因为只有当查询不是变量时,给定的答案才有效。

下面的查询工作正常,但结果保存在xml文件中。

代码语言:javascript
运行
复制
SELECT XMLTYPE.createXML (DBMS_XMLGEN.getxml ('select  2 as a from dual')) FROM DUAL;

它可以工作,但我只能在oracle>19中使用宏。(因为宏)

代码语言:javascript
运行
复制
with FUNCTION f_test return varchar2 SQL_MACRO is
  query VARCHAR2(100) := 'select 1 a from dual';
  ret   VARCHAR2(100) := chr(13) || query || chr(13);
BEGIN
  RETURN ret;
END;
SELECT JSON_ARRAYagg(      json_object(t.*)  )
  FROM     f_test() t

代码

我尝试在oracle 19中使用动态sql

代码语言:javascript
运行
复制
WITH
    FUNCTION f
        RETURN JSON_ARRAY
    IS
        query   VARCHAR2 (100) := 'select 1 from dual';
        l_str   VARCHAR2 (1000);
        l_cnt   JSON_ARRAY;
    BEGIN
        l_str :=
               'with from_dynamic_query as ('
            || query
            || ') SELECT JSON_ARRAYagg(      json_object(*)  ) from from_dynamic_query';

        EXECUTE IMMEDIATE l_str
            INTO l_cnt;

        RETURN l_cnt;
    END;
SELECT 
  FROM DUAL;

错误执行(20: 8):ORA-06553: PLS-313:'F‘在此范围内未声明ORA-06552: PL/SQL: Item忽略ORA-06553: PLS-488:'JSON_ARRAY’必须是一个类型

EN

回答 1

Stack Overflow用户

发布于 2022-06-16 06:26:13

如果我用clob替换json_arry,它就能工作了。

代码语言:javascript
运行
复制
WITH
    FUNCTION f
        RETURN clob
    IS
        query   VARCHAR2 (100) := 'select 1 a from dual';
        l_str   VARCHAR2 (1000);
        l_cnt   clob;
    BEGIN
        l_str :=
               'with from_dynamic_query as ('
            || query
            || ') SELECT JSON_ARRAYagg(      json_object(*)  ) from from_dynamic_query';

        EXECUTE IMMEDIATE l_str
            INTO l_cnt;

        RETURN l_cnt;
    END;
SELECT f()
  FROM DUAL;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72641059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档