举例回答:
在长顺等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作按需策划设计,公司网站建设,企业网站建设,品牌网站制作,全网整合营销推广,外贸网站建设,长顺网站建设费用合理。
案例:
--For 循环游标
--(1)定义游标
--(2)定义游标变量
--(3)使用for循环来使用这个游标
declare
--类型定义
cursor c_job
is
select empno,ename,job,sal
from emp
where job='MANAGER';
--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型
c_row c_job%rowtype;
begin
for c_row in c_job loop
dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal);
end loop;
end;
一、GOTO循环用法
DECLARE
x number;
BEGIN
x := 9;
repeat_loop --循环点
x := x - 1;
dbms_output.put_line(x);
IF x 0 THEN
GOTO repeat_loop; --当x的值0时,就goto到repeat_loop
END IF;
END;
/*以上语句翻译如下:
declare 定义变量;
begin...end语句块
x 变量赋值
repeat_loop 设置循环点
循环内容
x 变量递减
按行打印 x
IF...END IF语句块
IF...(条件) THEN :满足IF条件 则
GOTO语句 前往循环点
*/
二、FOR循环用法
DECLARE
x number;
BEGIN
FOR i in 2..10 LOOP
dbms_output.put_line(i);
END LOOP;
END;
--最简单的循环?
/*
declare 定义变量
begin...end语句块
for...loop...end loop; 语句
*/
三、WHILE循环用法
DECLARE
x number;
BEGIN
x :=5;
WHILE x 1 LOOP
x := x - 1;
dbms_output.put_line('循环内'||x);
END LOOP;
dbms_output.put_line('循环外'||x);
END;
/*
declare 定义变量
begin...end 语句块
while...loop...end loop; 语句
*/
四、LOOP循环用法
DECLARE
x number;
BEGIN
x :=0;
LOOP
x := x + 1;
EXIT WHEN x 9; --这里有个";"号
dbms_output.put_line('内'||x);
END LOOP;
dbms_output.put_line('外'||x);
END;
/*
declare 定义变量
begin...end
x 变量赋值
loop...end loop语句
exit when ...(条件) ;
*/
begin
for v_rlt in 1..1000 loop
dbms_output.put_line('v_rlt = '||v_rlt);
end loop;
dbms_output.put_line('FOR循环已经结束!');
end;
Oracle中有三种循环(For、While、Loop):
1、loop循环:
create or replace procedure pro_test_loop is
i number;
begin
i:=0;
loop
i:=i+1;
dbms_output.put_line(i);
if i5 then
exit;
end if;
end loop;
end pro_test_loop;
2、while循环:
create or replace procedure pro_test_loop is
i number;
begin
i:=0;
while i5 loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end pro_test_loop;
3、for循环1:
create or replace procedure pro_test_for is
i number;
begin
i:=0;
for i in 1..5 loop
dbms_output.put_line(i);
end loop;
end pro_test_for;
4、for循环2:
create or replace procedure pro_test_cursor is
userRow t_user%rowtype;
cursor userRows is
select * from t_user;
begin
for userRow in userRows loop
dbms_output.put_line(userRow.Id||','||userRow.Name||','||userRows%rowcount);
end loop;
end pro_test_cursor;
你想要的这几个结果,都可以直接使用SQL语句查出,无需循环。
Oracle循环实在PLSQL块中编写:关键字for XXX loop 循环体 end loop;