儲存過程 語句

2022-09-12 14:27:31 字數 2801 閱讀 1938

一、 if else

if else 類似選擇結構的語句,類似於程式語言中的if else。語法如下:

if 表示式 then 執行語句

[elseif 表示式 then 執行語句]

[else 執行語句]

end if;

根據分數列印等級,**如下:

drop procedure if existsproc_test_statement;

create procedureproc_test_statement(

in num int(11),

out result varchar(255)

)begin

if(num >= 80) then

set result='優秀';

elseif (num >= 70) then

set result='良好';

elseif (num >= 60 ) then

set result='及格';

else

set result='不及格';

end if;

end;

call proc_test_statement(90,@n);

select @n;

執行結果如下:

二、 case

case 類似於程式語言中的switch...case。語法如下:

case 表示式

when 表示式 then 執行語句  

when 表示式 then 執行語句  

else 執行語句  

end case;

列印字母對應的等級,**如下:

drop procedure if existsproc_test_case;

create procedureproc_test_case(

in scode varchar(255),

out result varchar(255)

)begin

casescode

when 'a' then

set result='優秀';

when 'b' then

set result='良好';

when 'c' then

set result='及格';

else

set result='不及格';

end case;

end;

call proc_test_case('d', @result);

select @result;

執行結果如下:

三、 while

while語句類似於程式語言中的while語句。語法如下:

while 表示式 do

執行語句

end while

從1加到某個數,**如下:

drop procedure if existsproc_test_while;

create procedureproc_test_while(

in time int(11),

out result int(11)

)begin

declare n int default 1;

set result = 0;

while (n <=time) do

set result = result +n;

set n = n + 1;

end while;

end;

call proc_test_while(100, @result);

select @result;

執行結果如下:

四、repeat

pepeat 語句類似於程式語言中的do...while語句,語法如下:

repeat

執行語句;

until 表示式

end repeat

從1加到某個數,**如下:

drop procedure if existsproc_test_pepeat;

create procedureproc_test_pepeat(

in time int(11),

out result int(11)

)begin

declare n int default 1;

set result = 0;

repeat

set result = result +n;

set n = n + 1;

until (n >time)

endrepeat;

end;

call proc_test_pepeat(100, @result);

select @result;

結果如下:

五、loop 及 le**e、iterate

loop的使用 要結合le**e 和 iterate。loop 標誌位無條件迴圈,le**e 類似於break 語句,跳出迴圈,跳出 begin end,iterate 類似於continue ,結束本次迴圈。

求某個數以內的偶數和,**如下:

oracle儲存過程 建立儲存過程語句

一 建立儲存過程語句 語法 create or replace procedure testname argument1 type1,as begin end testname 例子 create orreplace procedure test name arg1 varchar2,arg2 nu...

簡單儲存過程語句

if exists select from dbo.sysobjects whereid object id n dbo pro relateproselect andobjectproperty id n isprocedure 1 drop procedure dbo pro relatepro...

分頁SQL語句 儲存過程

分頁儲存過程一 alter procedure dbo fy startrowindex int,maximumrows int asbegin select from select ugid,uname,row number over order by ugid desc rownum from ...