开发者

Oracle中for循环的使用方法

开发者 https://www.devze.com 2022-12-01 14:43 出处:网络 作者: taadis
Oracleforinloop循环的一些实例,以作学习和加强使用熟练度及场景应用.一些技巧for语句后面的loopendloop可以类比成c#/java等编程语言for语句后面的语句块符号(花...

oracle for in loop 循环的一些实例,以作学习和加强使用熟练度及场景应用.

一些技巧

for 语句后面的 loop end loop 可以类比成 C#/Java 等编程语言 for 语句后面的语句块符号(花括号{}), 以便理解和使用.

一些实例

循环输出数值

-- 循环输出数值
begin
  for i in 1 .. 100 loop
    sys.dbms_output.put_line(i);
  end loop;
end;

循环累加

-- 循环累加
declare
  var_sum number := 0;
begin
  for i in 1 .. 100 loop
    var_sum := var_sum + i;
  end loop;
  sys.dbms_output.put_line(var_sum); -- 5050
end;

批量插入

-- 批量插入
begin
  for i in 1 .. 100 loop
    -- todo: insert into some_table(field1, field2, ..., fieldN) values(valie1, value2, ..., valueN);
    sys.dbms_output.put_line('insert: ' || to_char(i));
  end loop;
  commit;
  sys.dbms_output.put_line('多次insert,统一commit');
end;

批量更新

-- 批量更新
begin
  for i in 1 .. 100 loop
    -- todo: update some_table set fiehttp://www.devze.comldN = valueN where fieldN = valueN;
    sys.dbmjavascripts_output.put_line('update: ' || to_char(i));
  end loop;
  commit;
  sys.dbms_output.put_line('多次update,统一commit');
end;

循环输出用户表信息

-- 查询你能管理的所有用户信息
select user_id, username, created from all_users;

-- 循环输出用户表信息
begin
  for cur_row in (select user_id, username, creatphpeandroidd from all_users) loop
    sys.dbms_output.put_line(cur_row.username);
  end loop;
end;
-- 当循环对象是比较长串的SQL时,建议提取游标,方便后续查看和维护

循环输出用户表信息(游标提取)

-- 循环输出用户表信息(游标提取)
declare
  -- 提取游标对象,方便单独维护SQL
  cursor cursor_all_users is
    select user_id, username, created from all_users;
  -- 游标子项(更多的时候,表是动态表,所以这句声明也可以省略)
  -- cursor_user all_users%rowtype;
begin
  for cursor_user in cursor_all_users loop
    dbms开发者_JAVA入门_output.put_line(cursojavascriptr_user.username);
  end loop;
end;

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号