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

Tạo biến trong Stored Procedure MySQL với từ khóa DECLARE

Từ khóa DECLARE dùng để khai báo biến cục bộ (local variable) bên trong BEGIN ... END của stored procedure/function/trigger.

Cú pháp

DECLARE ten_bien kieu_du_lieu [DEFAULT gia_tri_mac_dinh];

Ví dụ minh họa

Tạo procedure demo biến:

mysql> DELIMITER //
mysql> CREATE PROCEDURE variable_Demo()
    BEGIN
        DECLARE lastInsertedId INT DEFAULT -1;
        SELECT lastInsertedId;
        SET @providedLastId = 10001;
        SELECT @providedLastId;
    END //
mysql> DELIMITER ;

Gọi procedure:

mysql> CALL variable_Demo();

Kết quả (2 result set):

+----------------+
| lastInsertedId |
+----------------+
| -1             |
+----------------+
1 row in set

+-----------------+
| @providedLastId |
+-----------------+
| 10001           |
+-----------------+

Phân biệt biến cục bộ vs biến người dùng:

Đặc điểmBiến cục bộ (DECLARE)Biến người dùng (@)
Phạm viChỉ trong BEGIN...ENDCả session
Ký hiệuKhông có @Có @ đầu
Khai báoBắt buộc DECLAREKhông cần, gán trực tiếp
Kiểu dữ liệuPhải khai báoTự suy diễn
Dùng trongProc, Function, TriggerMọi nơi trong session

Lưu ý: DECLARE phải đặt ngay sau BEGIN, trước mọi statement khác.