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

Ý nghĩa của ký tự @ trong stored procedure MySQL

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)