Hệ quản trị CSDL MySQL - Tạo Proceduce

Tạo thủ tục thường trú đầu tiên

Chúng ta tạo một thủ tục thường trú để lấy ra tất cả các sản phẩm từ bảng products.

DELIMITER //
BEGIN
CREATE PROCEDURE  stored_procedure_name
/*** SQL for stored procedure ***/
END //
DELIMITER ;

Giải thích:

  • Câu lệnh DELIMITER //:  để đổi dâu ngăn cách các dòng lệnh từ ; sang //. Câu lệnh này không liên quan gì đến nội dung thủ tục thường trú của chúng ta. Mục đích của việc làm này là để chúng ta có thể có nhiều câu lệnh SQL trong thủ tục thướng trú và những câu lệnh này ngăn cách nhau bằng dấu ;. Sau từ khóa END là // để báo hiệu kết thúc thủ tục thường trú. Cuối cùng, chuyển lại dấu ngăn cách lệnh về ; như mặc định của MySQL.
  • Câu lệnh CREATE PROCEDURE tạo mới một thủ tục thường trú với tên là GetAllProducts như ví dụ trên.
  •  Phần thân của thủ tục thường trú nằm trong khối BEGIN … END. Ta viết các câu lệnh SQL trong không gian này.

Để gọi thủ tục thường trú, chúng ta sử dụng cú pháp sau:

CALL STORED_PROCEDURE_NAME()

Ví dụ:

CALL GetAllProducts();