如何一次又一次地重复(递归)查询?

北名古屋

[编辑]

嗯..如何在迭代时设置“ IF”条件?有时根本没有标签。

在那种情况下,我不需要任何修改。


我这样写查询;

UPDATE myTable SET myCOL = 
substr(myCOL, 1, instr(myCOL, '<Tag>') - 1)
 || '■' ||      
substr(myCOL, instr(myCOL, '</Tag>') + 6, length(myCOL));

因为我想这样实现

在此处输入图片说明

myVar  := "abc<Tag>BuLah..BuLah..</Tag>def"
myGoal := "abc■def"

到现在为止还挺好。

现在,事情进入了现实世界,我的myVar像这样;

myVar := "abc<Tag>BuLah1..</Tag>def..ghi<Tag>BuLah2..</Tag>jkl"

我如何实现我的目标?

在此处输入图片说明

谢谢..


[编辑]目前附加了文本文件。

链接已删除...

    1. 简单提取的文本,所有行-811行
    1. 简单提取的文本,处理所有ROWs标签
    1. 简单提取的文本,仅标记行-18行,42个标记。

当我在没有此查询的情况下执行时,其运行时间会立即变为 不需要时间。但是,当我执行此查询时,我花了71秒才能完成。我猜我犯了一些错误。其他XML部分已由其他查询处理,此查询仅处理上述标记。

去世

使用递归CTE:

with recursive cte as (
  select myCOL,
    substr(myCOL, 1, instr(myCOL, '<Tag>') - 1)
    || '■' ||      
    substr(myCOL, instr(myCOL, '</Tag>') + 6, length(myCOL)) newCOL
  from myTable
  where myCOL like '%<Tag>%'
  union all                                                     
  select c.myCOL,
    substr(c.newCOL, 1, instr(c.newCOL, '<Tag>') - 1)
    || '■' ||      
    substr(c.newCOL, instr(c.newCOL, '</Tag>') + 6, length(c.newCOL)) newCOL
  from cte c                  
  where c.newCOL like '%<Tag>%'                                                      
)  
update myTable
set myCOL = (
  select newCOL from cte
  where myTable.myCOL = cte.myCOL and cte.newCOL not like '%<Tag>%'
)           
where myCOL like '%<Tag>%';

参见演示
结果:

| myCOL            |
| ---------------- |
| abc■def          |
| abc■def..ghi■jkl |

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

内核一次又一次地死亡

如何在JavaScript中一次又一次地获得翻转效果?

如何使代码从列表中选择一项,将其打印并一次又一次地重复该过程?

无法一次又一次地在LinkedList中插入相同的元素

Flutter:为什么setState((){})一次又一次地设置数据

如何在html中重复代码而不一次又一次地写相同的代码

如何一次又一次地选择读/写?

一次又一次地馈送avconv

如何一次又一次地调用URL

init方法在servlet中一次又一次地调用

是否必须一次又一次地定义地图?

如何防止一次又一次地重新创建新的Fragment?

避免一次又一次地从JSON获取数据

通知被一次又一次地触发

要重用jQuery函数,使函数一次又一次地使用

如何停止在 JavaScript 中一次又一次地调用相同的函数?

在 Fortran 95 中一次又一次地读取文件的内容

Stripe Payment API 一次又一次地发送令牌请求

在 jQuery 中,我不知道如何一次又一次地更改 attr

Azure 容器实例一次又一次地失败

Square 一次又一次地改变速度

如何减少一次又一次的firebase数据库查询?

我试图让 while 循环在完成后由用户一次又一次地重复

更新状态一次又一次地获取数据后

碎片一次又一次地消亡 Discordjs

如何一次又一次地重复powershell命令?

Pygame:如何一次又一次地从左到右移动图像

如何使用枚举而不一次又一次地重复枚举名称?

一次又一次地编辑python脚本文件