您好,登錄后才能下訂單哦!
本篇內容主要講解“Oracle存儲過程的控制和循環語句有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Oracle存儲過程的控制和循環語句有哪些”吧!
1、控制結構
if-then
if-then-else
if-then-elsif-else
主要就這三種控制結構
下面舉個例子說明一下:
create or replace procedure mypro(spNo number) is
v_job emp.job%type;
begin
select job into v_job from emp where empno = spNo;
if v_job = 'PRESIDENT' then
update emp set sal = sal + 1000 where empno = spNo;
elsif v_job = 'MANAGER' then
update emp set sal = sal + 500 where empno = spNo;
else
update emp set sal = sal + 200 where empno = spNo;
end if;
end;
/
執行
begin
-- Call the procedure
mypro(49);
end;
2、循環語句
pl/sql主要的循環語句就下面這五種:
loop-end loop
exit when
while
for(普通循環)
for(游標循環)
下面逐一進行舉例:
a、loop循環
create or replace procedure proc_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;
b、exit when循環
create or replace procedure proc_exit is
i number;
begin
i := 0;
loop
exit when(i>5);
dbms_output.put_line(i);
i := i+1;
end loop;
end;
c、while循環
create or replace procedure proc_while is
i number;
begin
i := 0;
while i<5 loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end;
d、for普通循環
create or replace procedure proc_for is
i number;
begin
i := 0;
for i in 1 .. 5 loop
dbms_output.put_line(i);
end loop;
end;
e、for游標循環
create or replace procedure proc_for_cursor is
userRow emp%Rowtype;
cursor userRows is
select * from emp;
begin
for userRow in userRows loop
dbms_output.put_line(userRow.empno || ' , ' || userRow.ename || ' , ');
end loop;
end;
到此,相信大家對“Oracle存儲過程的控制和循環語句有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。