需求:編寫儲存過程,傳入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 總頁...