Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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.

SELECT * FROM products;

Code language: SQL (Structured Query Language) (sql)

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:

DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)

Để 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:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

Thứ ba, nhập các câu lệnh vào tab SQL:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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.

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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

DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
0 và lệnh 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:

CREATE PROCEDURE procedure_name(parameter_list) BEGIN statements; END //

Code language: SQL (Structured Query Language) (sql)

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

    DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    5. Ví dụ trên chỉ có một câu lệnh

    DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    6 đơn giản. Sau từ khóa

    DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    7, bạn đặt ký tự DELIMITER để kết thúc câu lệnh Quy trình.

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

DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
8:

CALL stored_procedure_name(argument_list);

Code language: SQL (Structured Query Language) (sql)

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

DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
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ữ.

Ví dụ này minh họa cách gọi thủ tục lưu trữ

CREATE PROCEDURE procedure_name(parameter_list) BEGIN statements; END //

Code language: SQL (Structured Query Language) (sql)
0:

CALL GetAllProducts();

Code language: SQL (Structured Query Language) (sql)

Thực hiện câu lệnh này giống như thực hiện câu lệnh SQL:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

Ở đây, đầu ra một phần:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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.

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

Tab sau sẽ mở:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

Thứ hai, thay đổi quy trình được lưu trữ tên và thêm mã giữa khối

DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
5:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

Tên thủ tục được lưu trữ là

CREATE PROCEDURE procedure_name(parameter_list) BEGIN statements; END //

Code language: SQL (Structured Query Language) (sql)
2 trả về tất cả các hàng trong bảng

CREATE PROCEDURE procedure_name(parameter_list) BEGIN statements; END //

Code language: SQL (Structured Query Language) (sql)
3 từ cơ sở dữ liệu mẫu.

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:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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:

Hướng dẫn how to create stored procedure in mysql - cách tạo thủ tục lưu sẵn trong mysql

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

    DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    8 để thực hiện quy trình được lưu trữ.
  • 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?

Chúng ta có thể tạo quy trình trong mysql không?

Các thủ tục được lưu trữ chứa các tham số trong và ngoài hoặc cả hai.Họ có thể trả về các bộ kết quả trong trường hợp bạn sử dụng các câu lệnh Chọn.Các thủ tục được lưu trữ có thể trả về nhiều bộ kết quả.Bạn có thể tạo một thủ tục bằng cách sử dụng câu lệnh Quy trình Tạo MySQL.You can create a procedure using the MySQL CREATE PROCEDURE statement.

Quy trình được lưu trữ trong MySQL là gì?

Một quy trình được lưu trữ là mã SQL đã chuẩn bị mà bạn có thể lưu, vì vậy mã có thể được sử dụng lại nhiều lần.Vì vậy, nếu bạn có một truy vấn SQL mà bạn viết nhiều lần, hãy lưu nó dưới dạng thủ tục được lưu trữ, và sau đó chỉ cần gọi nó để thực hiện nó.a prepared SQL code that you can save, so the code can be reused over and over again. So if you have an SQL query that you write over and over again, save it as a stored procedure, and then just call it to execute it.

Thủ tục lưu trữ có sẵn trong MySQL không?

MySQL 8.0 hỗ trợ hai loại thói quen được lưu trữ, quy trình lưu trữ và các chức năng được lưu trữ.A. 4.2.. A. 4.2.

Cú pháp của thủ tục tạo là gì?

Cú pháp để tạo quy trình được lưu trữ trong SQL Server (Transact-SQL) là: Tạo {Quy trình |Proc} [Schema_name.] Quy trình_name [@parameter [type_schema_name.]CREATE { PROCEDURE | PROC } [schema_name.] procedure_name [ @parameter [type_schema_name.]