mysql儲存過程之條件語句(四)

2021-09-26 05:55:38 字數 1308 閱讀 6785

需求:編寫儲存過程,傳入id如果是偶數,返回其url,否則返回id

delimiter $$

create procedure test3(in book_id bigint(11))

begin

-- 定義url

declare url varchar(255) default '';

-- 判斷語句

if(book_id %2 = 0)

-- 滿足if表示式

then

select mark_url into url from book_mark where id = book_id;

select url;

-- 不滿足if表示式

else

select book_id;

-- 結束判斷

end if;

end;

$$delimiter ;

1.條件語句的最基本結構:if() then ...  else ... end if;

2.if判斷返回邏輯真或假,表示式可以是任意表示真或假的表示式

需求:使用者輸入id

(1)如果status = 1, 則score + 10;

(2)如果status = 2, 則score + 20;

(3)其他情況, 則score + 50;

delimiter $$

create procedure test5(in uid bigint(11))

begin

declare ustatus tinyint(2);

select status into ustatus from test_score where id = uid;

if(ustatus = 1)

then

update test_score set score = score + 10 where id = uid;

elseif (ustatus = 2)

then

update test_score set score = score + 20 where id = uid;

else

update test_score set score = score + 50 where id = uid;

end if;

end;

$$delimiter ;

call test5(4)

mysql儲存過程 條件語句if

條件語句結構 1 基本判斷結構if then.else.endif 2 多條件判斷結構if then.elseif then.else.end if 示例 根據年齡輸出對應文案 drop procedure ifexists test5 建立儲存過程 delimiter create procedu...

mysql儲存過程之case語句

儲存程式的 case 語句實現乙個複雜的條件構造。如果 search condition 求值為真,相應的 sql被執行。如果沒有搜尋條件匹配,在 else 子句裡的語句被執行。語法 case case value when when value then statement list when w...

多條件儲存過程 (條件拼接SQL語句)

alter proc sp pagedbyconditions countrycode nvarchar 20 國家編號 cid int,城市的id pageindex int 1,當前要顯示的頁碼 pagesize int 3,每頁要顯示的資料條數 頁大小 totalpages intout 總頁...