MySQL 條件游標是一種非常常見的數(shù)據(jù)庫查詢方式,可以方便地獲取滿足特定條件的數(shù)據(jù)集合。
DECLARE cursor_name CURSOR FOR SELECT * FROM table_name WHERE condition;
這里的“condition”可以是任意 SQL 表達式,例如:
DECLARE cursor_name CURSOR FOR SELECT * FROM table_name WHERE id >10 AND status = 'active';
定義了游標之后,我們就可以通過 FETCH 語句逐行讀取數(shù)據(jù):
FETCH cursor_name INTO variable1, variable2, ..., variableN;
這里的“variable1, variable2, ..., variableN”是我們自己定義的變量名,用來接收當前行的各個字段值。
值得注意的是,條件游標不僅僅可以用于 SELECT 語句,還可以用于 UPDATE 和 DELETE 等操作:
DECLARE cursor_name CURSOR FOR UPDATE table_name SET col1 = new_value WHERE condition;
DECLARE cursor_name CURSOR FOR DELETE FROM table_name WHERE condition;
這樣可以避免在 WHERE 子句中重復(fù)編寫條件,提高代碼的復(fù)用性和可讀性。