在mysql游標循環中,我們通常需要使用if語句來做出一些判斷,從而根據不同情況執行不同的操作。
DELIMITER $$ CREATE PROCEDURE `my_procedure`(IN `searchStr` VARCHAR(50)) BEGIN DECLARE done INT DEFAULT false; DECLARE id INT; DECLARE name VARCHAR(50); DECLARE cur CURSOR FOR SELECT id, name FROM users; OPEN cur; FETCH cur INTO id, name; WHILE NOT done DO IF name = searchStr THEN SELECT CONCAT(id, '-', name) AS 'Result'; END IF; FETCH cur INTO id, name; IF (id IS NULL) THEN SET done = true; END IF; END WHILE; CLOSE cur; END$$ DELIMITER ;
在上述代碼中,我們定義了一個游標cur,然后使用FETCH語句獲取游標中的數據。在while循環中,我們使用if語句判斷當前行的name是否等于輸入的searchStr,如果是,則輸出該行的id和name。
在實際使用中,我們可以根據具體需求進行修改和擴展,例如可以增加多個if語句來進行不同的判斷,或者在if語句中加入多條SQL語句來進行復雜的操作。
上一篇mysql游標是什么
下一篇css 段落前縮進