Dùng biến phiên @ten_bien để lưu giá trị và tái sử dụng trong các câu lệnh sau trong cùng phiên kết nối.
Các bước
- Gán giá trị:
SET @ten_bien = 'gia_tri'; - Sử dụng: Tham chiếu
@ten_bientrongWHERE,SET, v.v.
Ví dụ minh họa
Tạo bảng Employee_Information:
CREATE TABLE Employee_Information (
EmployeeId INT NOT NULL AUTO_INCREMENT,
EmployeeName VARCHAR(20) NOT NULL,
EmployeeSalary INT,
EmployeeStatus VARCHAR(20),
PRIMARY KEY (EmployeeId)
);
INSERT INTO Employee_Information (EmployeeName, EmployeeSalary, EmployeeStatus) VALUES
('Sam',17650,'FullTime'), ('Carol',12000,'Trainee'), ('Bob',17650,'FullTime'),
('Mike',12000,'Trainee'), ('John',17650,'FullTime');
Tăng lương 6500 cho nhân viên FullTime
SET @EmpStatus = 'FullTime';
UPDATE Employee_Information
SET EmployeeSalary = EmployeeSalary + 6500
WHERE EmployeeStatus = @EmpStatus;
Kết quả: 3 hàng FullTime được tăng lương.
+------------+--------------+----------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus |
+------------+--------------+----------------+----------------+
| 1 | Sam | 24150 | FullTime |
| 2 | Carol | 12000 | Trainee |
| 3 | Bob | 24150 | FullTime |
| 4 | Mike | 12000 | Trainee |
| 5 | John | 24150 | FullTime |
+------------+--------------+----------------+----------------+
Lưu ý: Biến phiên chỉ tồn tại trong kết nối hiện tại. Mất khi ngắt kết nối. Khác với biến cục bộ trong stored procedure (DECLARE).