Khai báo biến
Biến trong stored procedure được sử dụng để lưu trữ kết quả tức thời. Cú pháp khai báo biến:
Mã:
DECLARE variable_name datatype(size) DEFAULT default_value;
Tiếp theo là xác định kiểu dữ liệu của biến, đó là 1 trong những kiểu dữ liệu mà MySQL hỗ trợ sẵn: Int, varchar, datetime...Kế đến là kích cỡ của biến. Khi bạn khai báo 1 biến, nó được tự động khởi tạo giá trị mặc định là null. Bạn có thể thay đổi giá trị mặc định cho biến bằng cách sử dụng phát biểu DEFAULT. Ví dụ, cú pháp khởi tạo 1 biến có tên total_sale với kiểu dữ liệu là int, giá trị mặc định là 0 như sau:
Mã:
DECLARE total_sale INT DEFAULT 0
Mã:
DECLARE x, y INT DEFAULT 0
Gán giá trị cho 1 biến
Sau khi khai báo biến, bạn có thể sử dụng chúng. Để gán 1 giá trị cho 1 biến, bạn dung phát biểu SET như sau:
Mã:
DECLARE total_count INT DEFAULT 0 SET total_count = 10;
Ngoài cách dùng phát biểu SET, chúng ta cũng có thể sử dụng SELECT … INTO để gán kết quả của 1 truy vấn cho 1 biến:
Mã:
DECLARE total_products INT DEFAULT 0 SELECT COUNT(*) INTO total_products FROM products
Phạm vi của 1 biến
Mỗi một biến có phạm vi hoạt động của nó. Nếu bạn khai báo biến bên trong 1 stored procedure, biến đó sẽ còn hiệu lực cho đến khi nào gặp từ khóa END của stored procedure. Nếu bạn khai báo biến bên trong block BEGIN/END của stored procedure, biến sẽ hết hiệu lực khi gặp từ khóa END của block BEGIN/END này.
Bạn có thế khai báo 2 hay nhiều biến cùng tên trong các phạm vi (scope) khác nhau, các biến này sẽ có hiệu lực trong phạm vi riêng của chúng. Dĩ nhiên điều này được khuyến cáo là không nên làm.
Một biến với ký tự “@” làm tiền tố được xem là biến thuộc phạm vi session. Nó sẽ tồn tại dến khi nào session còn tồn tại.
Nhận xét
Đăng nhận xét