Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truyền biến vào script MySQL qua biến phiên (session variable)

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

  1. Gán giá trị: SET @ten_bien = 'gia_tri';
  2. Sử dụng: Tham chiếu @ten_bien trong WHERE, 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).