Tóm tắt: Trong hướng dẫn này, bạn sẽ học từng bước làm thế nào để tuyên bố MySQL CREATE PROCEDURE
để tạo các quy trình được lưu trữ mới.: in this tutorial, you will learn step by step how to the MySQL CREATE PROCEDURE
statement to create new stored procedures.
Tuyên bố MySQL CREATE PROCEDURE
Truy vấn này trả về tất cả các sản phẩm trong bảng products
từ cơ sở dữ liệu mẫu.
Code language: SQL [Structured Query Language] [sql]
SELECT * FROM products;
Câu lệnh sau đây tạo ra một quy trình được lưu trữ mới kết thúc truy vấn:
Code language: SQL [Structured Query Language] [sql]
DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
Để thực hiện các câu sau:
Đầu tiên, khởi chạy MySQL Workbench.
Thứ hai, tạo một tab SQL mới để thực thi các truy vấn:
Thứ ba, nhập các câu lệnh vào tab SQL:
Fouth, thực hiện các tuyên bố. Lưu ý rằng bạn có thể chọn tất cả các câu lệnh trong tab SQL [hoặc không có gì] và nhấp vào nút Thực thi. Nếu mọi thứ đều ổn, MySQL sẽ tạo quy trình được lưu trữ và lưu nó trong máy chủ.Execute button. If everything is fine, MySQL will create the stored procedure and save it in the server.
Thứ năm, kiểm tra quy trình được lưu trữ bằng cách mở nút thủ tục được lưu trữ. Nếu bạn không thấy quy trình được lưu trữ, bạn có thể nhấp vào nút Làm mới bên cạnh tiêu đề Schemas:Stored Procedures node. If you don’t see the stored procedure, you can click the Refresh button next to the SCHEMAS title:
Chúc mừng! Bạn đã tạo thành công thủ tục được lưu trữ đầu tiên trong MySQL.
Hãy để kiểm tra cú pháp của thủ tục được lưu trữ.
Các lệnh đầu tiên và cuối cùng DELIMITER
không phải là một phần của thủ tục được lưu trữ. Lệnh DELIMITER
đầu tiên thay đổi dấu phân cách mặc định thành
0 và lệnhCode language: SQL [Structured Query Language] [sql]
DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
DELIMITER
cuối cùng thay đổi dấu phân cách trở lại đối tượng mặc định là semicolon [;].Để tạo một quy trình được lưu trữ mới, bạn sử dụng câu lệnh CREATE PROCEDURE
.
Dưới đây là cú pháp cơ bản của câu lệnh CREATE PROCEDURE
:
Code language: SQL [Structured Query Language] [sql]
CREATE PROCEDURE procedure_name[parameter_list] BEGIN statements; END //
Trong cú pháp này
- Đầu tiên, chỉ định tên của quy trình được lưu trữ mà bạn muốn tạo sau các từ khóa
CREATE PROCEDURE
. - Thứ hai, chỉ định danh sách các tham số được phân tách bằng dấu phẩy cho quy trình được lưu trữ trong ngoặc đơn sau tên thủ tục. Lưu ý rằng bạn sẽ học cách tạo các quy trình được lưu trữ với các tham số trong các hướng dẫn sắp tới.
- Thứ ba, viết mã giữa khối
5. Ví dụ trên chỉ có một câu lệnh
Code language: SQL [Structured Query Language] [sql]DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
6 đơn giản. Sau từ khóa
Code language: SQL [Structured Query Language] [sql]DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
7, bạn đặt ký tự DELIMITER để kết thúc câu lệnh Quy trình.
Code language: SQL [Structured Query Language] [sql]DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
Thực hiện một thủ tục được lưu trữ
Để thực hiện quy trình được lưu trữ, bạn sử dụng câu lệnh
8:Code language: SQL [Structured Query Language] [sql]
DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
Code language: SQL [Structured Query Language] [sql]
CALL stored_procedure_name[argument_list];
Trong cú pháp này, bạn chỉ định tên của quy trình được lưu trữ sau từ khóa
8. Nếu quy trình được lưu trữ có các tham số, bạn cần chuyển các đối số bên trong dấu ngoặc đơn theo tên thủ tục được lưu trữ.Code language: SQL [Structured Query Language] [sql]
DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
Ví dụ này minh họa cách gọi thủ tục lưu trữ
0:Code language: SQL [Structured Query Language] [sql]
CREATE PROCEDURE procedure_name[parameter_list] BEGIN statements; END //
Code language: SQL [Structured Query Language] [sql]
CALL GetAllProducts[];
Thực hiện câu lệnh này giống như thực hiện câu lệnh SQL:
Ở đây, đầu ra một phần:
Tạo một quy trình được lưu trữ bằng cách sử dụng Trình hướng dẫn Workbench MySQL
Bằng cách sử dụng Trình hướng dẫn Workbench MySQL, bạn không cần phải chăm sóc nhiều thứ như Delimiters hoặc thực hiện lệnh để tạo các thủ tục được lưu trữ.
Đầu tiên, nhấp chuột phải vào các quy trình được lưu trữ từ & nbsp; Navigator và chọn quy trình tạo quy trình được lưu trữ & items nbsp; menu.Stored Procedures from the Navigator and select the Create Stored Procedure… menu item.
Tab sau sẽ mở:
Thứ hai, thay đổi quy trình được lưu trữ tên và thêm mã giữa khối
5:
DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
Code language: SQL [Structured Query Language] [sql]
Tên thủ tục được lưu trữ là
2 trả về tất cả các hàng trong bảngCode language: SQL [Structured Query Language] [sql]
CREATE PROCEDURE procedure_name[parameter_list] BEGIN statements; END //
3 từ cơ sở dữ liệu mẫu.Code language: SQL [Structured Query Language] [sql]
CREATE PROCEDURE procedure_name[parameter_list] BEGIN statements; END //
Thứ ba, nhấp vào nút Áp dụng, MySQL Workbench sẽ mở một cửa sổ mới để xem xét tập lệnh SQL trước khi áp dụng nó trên cơ sở dữ liệu:Apply button, MySQL Workbench will open a new window for reviewing SQL script before applying it on the database:
Thứ tư, nhấp vào nút Áp dụng để xác nhận. MySQL Workbench sẽ tạo quy trình được lưu trữ:Apply button to confirm. MySQL Workbench will create the stored procedure:
Thứ năm, nhấp vào nút Kết thúc để đóng cửa sổ.Finish button to close the window.
Cuối cùng, xem quy trình được lưu trữ trong danh sách quy trình được lưu trữ:Stored Procedures list:
Bản tóm tắt
- Sử dụng câu lệnh
CREATE PROCEDURE
để tạo một quy trình được lưu trữ mới. - Sử dụng câu lệnh
8 để thực hiện quy trình được lưu trữ.
Code language: SQL [Structured Query Language] [sql]DELIMITER // CREATE PROCEDURE GetAllProducts[] BEGIN SELECT * FROM products; END // DELIMITER ;
- MySQL lưu trữ các quy trình được lưu trữ trong máy chủ.
Hướng dẫn này có hữu ích không?