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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
上面所示為儲存過程相應**,你可以通過如下方式進行測試:
進入pl/sql, 執行 檔案->新建->程式視窗->空白,拷貝以上各段**,到pl/sql空白視窗中,安f8執行編譯。
再 執行 檔案->新建->命令視窗 進入命令視窗 執行一下 set serveroutput on 這句**,然後,輸入exec 相應儲存過程,ok。
第5中迴圈 要求新建乙個名為test的表 字段 id、name,插入幾條資料,進行測試即可。
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;
/ ///
//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;
/
oracle儲存過程 建立儲存過程語句
一 建立儲存過程語句 語法 create or replace procedure testname argument1 type1,as begin end testname 例子 create orreplace procedure test name arg1 varchar2,arg2 nu...
ORACLE 儲存寫儲存過程總結
step01 需要建立乙個package 例如 create or replace package package name is end package name 這一步只是建立乙個package。step02 為建立好的package建立包體 例如 create or replace packa...
oracle儲存過程例子及其他語句
劉賢同學寫的乙個例子,很不錯,所以就收藏一下 sql create orreplace procedure p insert t v x in number istemp id number begin for i in 1.v x loop select seq b user id.nextval...