ใช้ Session Variable (@variableName) กำหนดค่าก่อน แล้วใช้อ้างอิงใน Query ต่อไป
ขั้นตอน
- ตั้งค่าตัวแปร:
SET @varName = 'value'; - ใช้ใน Query: ใส่
@varNameใน WHERE, SET, หรือส่วนอื่นของคำสั่ง
ตัวอย่างการใช้งาน
สร้างตาราง Employee_Information:
mysql> CREATE TABLE Employee_Information (
-> EmployeeId INT NOT NULL AUTO_INCREMENT,
-> EmployeeName VARCHAR(20) NOT NULL,
-> EmployeeSalary INT,
-> EmployeeStatus VARCHAR(20),
-> PRIMARY KEY(EmployeeId)
-> );
เพิ่มข้อมูล:
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus)
-> VALUES('Sam',17650,'FullTime'),('Carol',12000,'Trainee'),('Bob',17650,'FullTime'),
-> ('Mike',12000,'Trainee'),('John',17650,'FullTime');
ข้อมูลก่อนอัปเดต
+------------+--------------+----------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus | +------------+--------------+----------------+----------------+ | 1 | Sam | 17650 | FullTime | | 2 | Carol | 12000 | Trainee | | 3 | Bob | 17650 | FullTime | | 4 | Mike | 12000 | Trainee | | 5 | John | 17650 | FullTime | +------------+--------------+----------------+----------------+
ตั้งค่าตัวแปรและอัปเดตเงินเดือนพนักงาน FullTime เพิ่ม 6500
mysql> SET @EmpStatus = 'FullTime';
mysql> UPDATE Employee_Information
-> SET EmployeeSalary = EmployeeSalary + 6500
-> WHERE EmployeeStatus = @EmpStatus;
ผลลัพธ์หลังอัปเดต
+------------+--------------+----------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus | +------------+--------------+----------------+----------------+ | 1 | Sam | 24150 | FullTime | | 2 | Carol | 12000 | Trainee | | 3 | Bob | 24150 | FullTime | | 4 | Mike | 12000 | Trainee | | 5 | John | 24150 | FullTime | +------------+--------------+----------------+----------------+
ประโยชน์: ใช้ตัวแปรได้หลายครั้งใน Script เดียว ลดความผิดพลาดจากการพิมพ์ซ้ำ