我在SQL中的第一个for循环

菲利普·BSS
/*alter table schematics
add type_id NUMBER;*/

begin

for i in  (
select a.id,
       substr(a.key,
              instr(a.key, '|') + 1,
              (instr(a.key, '|', 1, 2) -
              (instr(a.key, '|', 1, 1) + 1))) TYPE_ID
  from schematics a)
  loop 
    update schematics
    set type_id = TYPE_ID;
  end loop;
)
end

大家好,您能帮帮我吗?TYPE_ID给了我很多ID,我想使用for循环将它们存储在我新创建的列中。第一次使用for in sql,不知道该怎么做。有什么帮助吗?提前致谢。

托斯滕·凯特纳

您正在尝试使用从另一列计算出的值更新新创建的列。通常只需进行一次更新即可完成:

update schematics
set type_id = 
  substr(key,
         instr(key, '|') + 1, 
         instr(key, '|', 1, 2) - instr(key, '|', 1, 1) - 1);

如果要在PL / SQL中对每条记录进行循环操作,请选择键和计算值以将两者用于更新。但这似乎太过分了。

begin
  for rec in
  (
    select distinct 
      key,
      substr(key,
             instr(key, '|') + 1, 
             instr(key, '|', 1, 2) - instr(key, '|', 1, 1) - 1) as type_id
    from schematics
  ) loop 
    update schematics
    set type_id = rec.type_id
    where key = rec.key;
  end loop;
end;

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL中的第一个单词集

如何在我的第一个python计算器中修复while循环?

我的每个循环都缺少数组中的第一个数据集

我的for循环在我的代码中无法正常工作,它在第一个循环后一直停止运行?

我可以自动聚焦在使用循环创建的redux表单中的第一个字段上吗?

SQL从表中获取第一个值

为什么我的for循环仅在第一个元素上起作用?

试图使我的第一个程序循环(C ++)

ngFor循环列表中的第一个和最后一个对象

如果我需要JS中第一个循环的结果,如何避免运行两个循环

在SQL查询中替换第一个FROM

我在Codeigniter中的第一个OOP方法

在php-sql中,我想在第一个搜索结果表中重新搜索。

我的第一个复杂的SQL查询

流星:使用for循环插入集合中仅插入第一个循环

我的循环只检查第一个数组项

jQuery动画循环陷入第一个循环

我无法在循环中使用第一个if语句。

我可以在Sql Server的单个查询中获得第一个和最后一个事务吗?

为什么在第一个foreach循环后我的变量数据丢失了?

为什么我的程序在For循环的第一个循环后跳过cin>>?

为什么我的 for 循环只抓取第一个元素?

循环超出第一个循环

For 循环忽略第一行,在 C 中的第一个循环执行之后

为什么我的 Javascript 循环只返回第一个值?

为什么我的 for 循环只打印第一个结果?

如何让我的循环移动到下一个工作簿而不在第一个打开的工作簿中重复?

如何在获得第一个输入后让我的代码循环到输入?

遍历 for 循环:为什么我的第一个 if 语句不运行?