欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql存儲過程if并條件查詢

錢淋西2年前10瀏覽0評論

MySQL是一種常用的關系型數據庫管理系統,支持存儲過程、觸發器等高級功能。在MySQL存儲過程中,if語句能夠實現條件判斷,在條件成立時執行指定語句,否則執行不同的語句。

DELIMITER //
CREATE PROCEDURE demo_procedure(IN id INT)
BEGIN
DECLARE name VARCHAR(50);
SELECT user_name INTO name FROM user WHERE user_id = id;
IF name = 'Tom' THEN
SELECT * FROM user WHERE user_id = id;
ELSEIF name = 'Jerry' THEN
SELECT * FROM user WHERE user_id = id AND user_age >18;
ELSE
SELECT 'No match result.';
END IF;
END //
DELIMITER ;

以上代碼演示了如何創建一個名為“demo_procedure”的存儲過程,接受一個參數id,查詢user表中user_id等于id的用戶記錄,并根據用戶名進行條件判斷。若用戶名為Tom,則查詢所有信息;若用戶名為Jerry,則查詢年齡大于18的信息;否則查詢“無匹配結果”。

需要注意的是,在MySQL存儲過程中,if語句中的每個條件均需緊貼著THEN或ELSEIF關鍵字寫在一行中,而ELSE關鍵字需換行寫在單獨的一行中。如下所示:

IF condition1 THEN statement1;
ELSEIF condition2 THEN statement2;
ELSEIF condition3 THEN statement3;
...
ELSE statement4;
END IF;

最后,我們還可以將以上存儲過程與條件查詢操作結合起來,以查詢滿足指定條件的用戶記錄。例如:

CALL demo_procedure(2);

代碼將返回user_id為2且用戶名為Jerry的信息。