大家好,又见面了,我是你们的朋友全栈君。
1、Exit When循环:
create or replace procedure proc_test_exit_when is
i number;
begin
i:=0;
LOOP
Exit When(i>5);
Dbms_Output.put_line(i);
i:=i+1;
END LOOP;
end proc_test_exit_when;
createorreplaceprocedureproc_test_exit_whenis
i number;
begin
i:=0;
LOOP
Exit When(i>5);
Dbms_Output.put_line(i);
i:=i+1;
ENDLOOP;
endproc_test_exit_when;
2、Loop循环:
create or replace procedure proc_test_loop is
i number;
begin
i:=0;
loop
i:=i+1;
dbms_output.put_line(i);
if i>5 then
exit;
end if;
end loop;
end proc_test_loop;
createorreplaceprocedureproc_test_loopis
i number;
begin
i:=0;
loop
i:=i+1;
dbms_output.put_line(i);
if i>5 then
exit;
endif;
endloop;
endproc_test_loop;
3、While循环:
create or replace procedure proc_test_while is
i number;
begin
i:=0;
while i<5 loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end proc_test_while;
createorreplaceprocedureproc_test_whileis
i number;
begin
i:=0;
while i<5 loop
i:=i+1;
dbms_output.put_line(i);
endloop;
endproc_test_while;
4、For普通循环:
create or replace procedure proc_test_for is
i number;
begin
i:=0;
for i in 1..5 loop
dbms_output.put_line(i);
end loop;
end proc_test_for;
createorreplaceprocedureproc_test_foris
i number;
begin
i:=0;
foriin1..5 loop
dbms_output.put_line(i);
endloop;
endproc_test_for;
5、For游标循环:
create or replace procedure proc_test_cursor is
userRow test%rowtype;
cursor userRows is
select * from test;
begin
for userRow in userRows loop
dbms_output.put_line(userRow.id||’,’||userRow.Name||’,’||userRows%rowcount);
end loop;
end proc_test_cursor;
createorreplaceprocedureproc_test_cursoris
userRow test%rowtype;
cursoruserRowsis
select*fromtest;
begin
foruserRowinuserRows loop
dbms_output.put_line(userRow.id||’,’||userRow.Name||’,’||userRows%rowcount);
endloop;
endproc_test_cursor;
上面所示为存储过程相应代码,你可以通过如下方式进行测试:
进入pl/sql, 执行 文件->新建->程序窗口->空白,拷贝以上各段代码,到pl/sql空白窗口中,安F8执行编译。
再 执行 文件->新建->命令窗口 进入命令窗口 执行一下 set serveroutput on 这句代码,然后,输入exec 相应存储过程,ok。
第5中循环 要求新建一个名为test的表 字段 id、name,插入几条数据,进行测试即可。
oracle 条件语句总结:
Oracle 中两种条件控制语句
1. IF……THEN
ELSIF……THEN
ELSE
END IF;
2. CASE
WHEN……THEN
WHEN……THEN
ELSE
END CASE;
///
//IF的条件语句
///
DECLARE
x NUMBER;
y VARCHAR2(10);
BEGIN
x:=2;
IF x=1 THEN
y:=’A’;
ELSIF x=2 THEN
y:=’B’;
ELSIF x=3 THEN
y:=’C’;
ELSE
y:=’Others’;
END IF;
DBMS_OUTPUT.PUT_LINE(‘y的值为:’||y);
END;
/
DECLARE x NUMBER; y VARCHAR2(10);BEGIN x:=2; IF x=1 THEN y:=’A’; ELSIF x=2 THEN y:=’B’; ELSIF x=3 THEN y:=’C’; ELSE y:=’Others’; END IF; DBMS_OUTPUT.PUT_LINE(‘y
的值为:’||y);END;/
///
//CASE的条件语句
///
DECLARE
x NUMBER;
y VARCHAR2(10);
BEGIN
x:=2;
CASE
WHEN x=1 THEN y=’A’;
WHEN x=2 THEN y=’B’;
WHEN x=3 THEN y=’C’;
ELSE y=’Others’;
END CASE;
DBMS_OUTPUT.PUT_LINE(‘y的值为:’||y);
END;
/
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160925.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...