oracle 中循环总结ITeye - 娱乐之横扫全球

oracle 中循环总结ITeye

2019-01-12 13:07:13 | 作者: 星爵 | 标签: 循环,句子,操控 | 浏览: 651

--while循环操控句子 
-----------------------------------------------------------
declare
  i int := 1;
begin
  while i = 10 loop
  dbms_output.put_line(当时循环体内i的值: || i);
  i := i + 1;
  end loop;
end;
-----------------------------------------------------------
--for循环操控句子 递加 
-----------------------------------------------------------
begin
  for i in 1 .. 10 loop
  dbms_output.put_line(当时循环体内i的值: || i);
  end loop;
end;

-----------------------------------------------------------
--for循环操控句子 递减 
-----------------------------------------------------------
begin
  for i in reverse 1 .. 10 loop
  dbms_output.put_line(当时循环体内i的值: || i);
  end loop;
end;

-----------------------------------------------------------
--嵌套循环和标号 
-----------------------------------------------------------
declare
  result int := 0;
begin
  outer
  for i in 1 .. 20 loop
  inner
  for j in 1 .. 10 loop
  result := i * j;
  dbms_output.put_line(循环时,i= || i || ,j= || j || ,result的值: ||
  result);
  --当外层循环result值到达200时,跳出整个外层循环 
  exit outer when result = 200;
  --当内层循环result值到达100时,跳出内层循环 
  exit when result = 100;
  end loop inner;
  dbms_output.put_line(end inner ,result的值: || result);
  end loop outer;
  dbms_output.put_line(end outter ,result的值: || result);
end;

-----------------------------------------------------------
--游标 for循环
-----------------------------------------------------------
--数据预备
create table test(a varchar2(100));
insert into test values(test1);
insert into test values(test2);
insert into test values(test3);
commit;
--测验开端
declare
  testRow test%rowtype;
  cursor testRows is
  select * from test;
begin
  for testRow in testRows loop
  dbms_output.put_line(testRow.a ||  ||
  testRows%rowcount);
  end loop;
end;
--数据毁掉
drop table test;

--------------------------------------------------------------
--循环刺进数据库句子
declare 
  maxrecords constant int:=1000; 
  i int :=1; 
begin 
  for i in 1..maxrecords loop 
  insert into test(a) 
  values(to_char(test||i)); 
  end loop; 
  dbms_output.put_line( 成功录入数据!); 
  commit; 
end; 
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章