Hệ quản trị CSDL MySQL - Biến trong Procedure
Khai báo biến trong thủ tục nội tại
Biến trong thủ tục thường trú dùng để lưu giữ giá trị trong quá trình tính toán. Khai báo biến theo cú pháp sau:
DECLARE variable_name datatype(size) DEFAULT default_value;
Ví dụ: Khai báo biến
DECLARE total_sale INT DEFAULT 0
DECLARE x, y INT DEFAULT 0
Gán giá trị cho biến
Sau khi khai báo biến, chúng ta gán giá trị cho biến để phục vụ tính toán. Để gán giá trị cho biến ta dùng câu lệnh SET.
Ví dụ:
DECLARE total_count INT DEFAULT 0
SET total_count = 10;
Ngoài câu lệnh SET, chúng ta còn có thể sử dụng lệnh SELECT … INTO để gán giá trị cho biến như ví dụ sau đây:
DECLARE total_products INT DEFAULT 0
SELECT COUNT(*) INTO total_products
FROM products
Phạm vi của biến
Mỗi biến có phạm vi riêng của nó. Nếu bạn khai báo biến bên trong thân thủ tục thường trú thì nó sẽ kết thúc khi chương trình thực hiện đến lệnh END của thủ tục thường trú. Nếu bạn khai báo một biến bên trong một khối lệnh BEGIN…END thì nó chỉ có phạm vi hoạt động bên trong khối lệnh đó mà thôi.
Biến bắt đầu bằng kí tự @ là biến session (phiên). Nó sẽ kết thúc khi session (phiên) kết thúc.