Computer >> Máy Tính >  >> Lập trình >> MySQL

Việc sử dụng ký hiệu “@” trong thủ tục lưu trữ MySQL là gì?

Ký hiệu @ trong một thủ tục được lưu trữ có thể được sử dụng cho các biến phiên do người dùng xác định. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
(
   StudentName varchar(50)
);
Query OK, 0 rows affected (1.30 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

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ị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+-------------+
| StudentName |
+-------------+
| John Smith  |
| John Doe    |
| Chris Brown |
+-------------+
3 rows in set (0.00 sec)

Bây giờ chúng ta hãy tạo một thủ tục được lưu trữ để tính toán số lượng bản ghi từ DemoTable -

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 ;

Sau đây là truy vấn để gọi thủ tục được lưu trữ bằng lệnh CALL -

mysql> call `Demo_Of_@Symbol`();
Query OK, 1 row affected (0.00 sec)

Bây giờ chúng ta hãy xem cách sử dụng @symbol -

mysql> select @numberOfRecords;

Điều này sẽ tạo ra kết quả sau -

+------------------+
| @numberOfRecords |
+------------------+
|                3 |
+------------------+
1 row in set (0.00 sec)