Ký tự @ trong stored procedure được dùng cho biến phiên (session variable) do người dùng định nghĩa. Trước tiên, tạo một bảng:
mysql> CREATE TABLE DemoTable (
StudentName VARCHAR(50)
); Query OK, 0 rows affected (1.30 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES('John Smith'); Query OK, 1 row affected (1.00 sec)
mysql> INSERT INTO DemoTable VALUES('John Doe'); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('Chris Brown'); Query OK, 1 row affected (0.53 sec)
Hiển thị dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả:
+-------------+ | StudentName | +-------------+ | John Smith | | John Doe | | Chris Brown | +-------------+ 3 rows in set (0.00 sec)
Tạo stored procedure để đếm số bản ghi và lưu vào biến @numberOfRecords:
mysql> DELIMITER //
mysql> CREATE PROCEDURE `Demo_Of_@Symbol`()
BEGIN
SELECT COUNT(*) INTO @numberOfRecords FROM DemoTable;
END //
Query OK, 0 rows affected (0.33 sec)
mysql> DELIMITER ;
Gọi stored procedure:
mysql> CALL `Demo_Of_@Symbol`(); Query OK, 1 row affected (0.00 sec)
Xem giá trị biến @numberOfRecords:
mysql> SELECT @numberOfRecords;
Kết quả:
+------------------+ | @numberOfRecords | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)