如何在Oracle中追加数组并将其插入单个字段

一世

我不确定标题是否正确

我创建了一个下表

create table healthcheck
(
fordate date default sysdate,
tablespace_status varchar2(100),
comments varchar2(200)
);

现在在PL / SQL代码中,我使用以下语句

select tablespace_name, used_percent 
from dba_tablespace_usage_metrics 
where used_percent > 70;

例如,上述查询的输出为:

USERS  75
TEMP   80

现在,我希望此输出在一个字段中tablespace_status以“ USERS:75%,TEMP:80%”的形式存储在该列中。

我怎样才能做到这一点?

阿夫拉吉·罗伊(Avrajit Roy)

希望在摘要下面有所帮助。注意:WMSYS.WM_CONCAT是未记录的函数,因此,如果数据库中存在对象,它将完全确定。替代品是LISTAGG。

Approach 1 :LISTAGG

    CREATE TABLE healthcheck
  (
    fordate           DATE DEFAULT sysdate,
    tablespace_status VARCHAR2(100),
    COMMENTS          VARCHAR2(200)
  );



    INSERT INTO HEALTHCHECK
SELECT sysdate,
  LISTAGG(tablespace_name
  ||':'
  ||ROUND(USED_PERCENT)
  ||':'
  ||Dbname, ', ') within GROUP (
ORDER BY tablespace_name DESC) status,
  NULL
FROM
  (SELECT tablespace_name,
    USED_PERCENT ,
    (SELECT global_name FROM global_name@dblink1
    ) Dbname
  FROM DBA_TABLESPACE_USAGE_METRICS@dblink1
  WHERE USED_PERCENT > 70
  UNION ALL
  SELECT tablespace_name ,
    USED_PERCENT ,
    (SELECT global_name FROM global_name@dblink2
    ) Dbname
  FROM DBA_TABLESPACE_USAGE_METRICS@dblink2
  WHERE USED_PERCENT > 70
    --union all for all 5 dblinks
  )a ;

插入了1行。

Approach 2 : WMSYS.WM_CONCAT

    INSERT INTO HEALTHCHECK
    SELECT sysdate,
      WMSYS.WM_CONCAT(a.fld),
      NULL
    FROM
      (SELECT tablespace_name
        ||':'
        ||round(used_percent)||':'||ORA_DATABASE_NAME fld
      FROM DBA_TABLESPACE_USAGE_METRICS
      WHERE used_percent > 70
      )A;

插入了1行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从数据库中检索单个字段数组数据并将其分离-使用Laravel,PHP

Pymongo:如何在文档中插入多个字段的数组?

如何比较列表中的某个字段并将其值插入另一个列表中?

如何在php的单个字段中插入两个变量值?

如何在Oracle SQL中从单个表中列出多个字段匹配

如何在Java中提取JSON数组的特定字段并将其存储在String中

如何在数组中追加数组?

如何在数组中的对象内部的数组中添加2个值并将其显示在字段外部?

如何在laravel中插入数组字段

如何在MySQL中使用自动递增字段复制一行并将其插入同一表中?

如何在Laravel中基于数据库值循环输入字段值并将其插入行?

如何在BASH中追加数组的间接参数扩展?

如何在猫鼬模型中更改数组内对象内部的单个值并将其保存?

如何在javascript中添加数据并将其绑定到jquery网格

如何在引导程序中添加数字并将其显示到控制台?

从文件中读取多个字符串并将其存储在单个字符数组中

如何在Java中从MongoDB检索单个字段

如何在Blazor EditForm中验证单个字段?

如何在Laravel中设置数组并将其放入Cookie

如何匹配数组中的变量,然后将匹配项附加数字并将其添加到数组中?

如何在laravel中插入多个字段?

将对象数组转换为单个字符串并将其推送到同一数组中

如何使用javascript从数据属性和ID添加数组并将其组合到数组php中?

将数组插入MYSQL数据库中的单个字段

如何从数组中获取单个项目并将其显示为对象?而不是作为数组 Mongodb

如何在没有警告的情况下写入结构化数组中的单个字段

如何仅从Java中的HttpResponse获取单个表单字段并将其写入文件?

使用 selenium webdriver 时如何从列中获取特定值并将其插入字段中

如何计算表中一个字段的总和并将其放入输入中