Share Hướng dẫn cơ bản về Stored Procedure trong MySQL

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Stored Procedure (Hay còn gọi là thủ tục lưu trữ) là một tính năng được cung cấp ở hầu hết các hệ quản trị cơ sở dữ liệu, từ các cơ sở dữ liệu cao cấp như Oracle, SQL Server,... cho đến MySQL cũng được hỗ trợ. Bài viết này tôi sẽ giới thiệu với các bạn một vài đặc điểm của Stored Procedure trong MySQL cũng như cách sử dụng nó.

Stored Procedure là một tập hợp các câu lệnh SQL được lưu trữ trong cơ sở dữ liệu nhưng không chỉ đơn giản là các câu lệnh SQL mà Stored Procedure còn chứa đựng các logic nghiệp vụ, các tham số được truyền vào, các điều kiện,... Đây cũng chính là điểm khác biệt lớn nhất của Stored Procedure so với các view thông thường mà các bạn dùng với MySQL.

Nguyên tắc hoạt động của một Stored Procedure các bạn có thể hình dung như mình đang lập trình, mỗi Stored Procedure có thể được xem như một tập tin PHP chẳng hạn, nội dung của nó là các dòng lệnh SQL kết hợp với các cú pháp logic, các tham số đầu vào,... và nó được lưu trữ, quản lý bởi cơ sở dữ liệu MySQL. Khi các bạn cần sử dụng thì các bạn gọi Stored Procedure đó với tên đã được lưu ở lúc khởi tạo. Với tính năng này, các bạn sẽ dễ dàng tái sử dụng lại các dòng lệnh SQL ở mọi nơi mà các bạn muốn cũng như việc điều khiển, quản lý các truy vấn dữ liệu dễ dàng hơn.

Trong MySQL, để khởi tạo một Stored Procedure các bạn tham khảo cú pháp sau:
Code:
CREATE PROCEDURE Tên_Stored_Procedure(Tham_số_1, Tham_số_2, Tham_số_n)
BEGIN
    --Nội dung
END;
Các bạn tham khảo ví dụ sau:
SQL:
CREATE PROCEDURE sp_user(IN username VARCHAR(60))
BEGIN
    SELECT * FROM tbl_user
    WHERE username = username;
END;
Nếu các bạn sử dụng ngôn ngữ lập trình PHP thì các bạn có thể gọi Stored Procedure một cách dễ dàng, các bạn có thể tham khảo tại địa chỉ https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.quickstart.stored-procedures.html.
 
Back
Top