Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu cách tạo các quy trình được lưu trữ với các tham số, bao gồm các tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2 và

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
3.
: in this tutorial, you will learn how to create stored procedures with parameters, including

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2, and

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
3 parameters.

Giới thiệu về các tham số thủ tục lưu trữ MySQL

Thông thường, các thủ tục lưu trữ có các tham số. Các tham số làm cho quy trình lưu trữ hữu ích và có thể tái sử dụng hơn. Một tham số trong một quy trình được lưu trữ có một trong ba chế độ: ____ 14, & nbsp; hoặc

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

Các tham số DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;Code language: SQL (Structured Query Language) (sql)1

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 là chế độ mặc định. Khi bạn xác định tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 trong quy trình được lưu trữ, chương trình gọi phải chuyển một đối số cho quy trình được lưu trữ.

Ngoài ra, giá trị của tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 được bảo vệ. Điều đó có nghĩa là ngay cả bạn thay đổi giá trị của tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 bên trong quy trình được lưu trữ, giá trị ban đầu của nó không thay đổi sau khi thủ tục được lưu trữ kết thúc. Nói cách khác, quy trình được lưu trữ chỉ hoạt động trên bản sao của tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;Code language: SQL (Structured Query Language) (sql)2 tham số

Giá trị của tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2 có thể được thay đổi bên trong quy trình được lưu trữ và giá trị mới của nó được chuyển trở lại chương trình gọi.

Lưu ý rằng quy trình được lưu trữ không thể truy cập giá trị ban đầu của tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2 khi bắt đầu.

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;Code language: SQL (Structured Query Language) (sql)5 tham số

Một tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
5 & nbsp; là sự kết hợp của các tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 và

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2. Điều đó có nghĩa là chương trình gọi có thể truyền đối số và quy trình được lưu trữ có thể sửa đổi tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
5 và chuyển giá trị mới trở lại chương trình gọi.

Xác định một tham số

Dưới đây là cú pháp cơ bản của việc xác định tham số trong các quy trình được lưu trữ:

[IN | OUT | INOUT] parameter_name datatype[(length)]

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

Trong cú pháp này,

  • Đầu tiên, chỉ định chế độ tham số, có thể là

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    2 hoặc

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    5 tùy thuộc vào mục đích của tham số trong quy trình được lưu trữ.
  • Thứ hai, chỉ định tên của tham số. Tên tham số phải tuân theo các quy tắc đặt tên của tên cột trong MySQL.
  • Thứ ba, chỉ định loại dữ liệu và độ dài tối đa của tham số.

Ví dụ tham số thủ tục lưu trữ MySQL

Hãy cùng lấy một số ví dụ về việc sử dụng các tham số thủ tục được lưu trữ.

Ví dụ trong tham số

Ví dụ sau đây tạo ra một thủ tục được lưu trữ tìm thấy tất cả các văn phòng định vị trong một quốc gia được chỉ định bởi tham số đầu vào

CALL GetOfficeByCountry('France')

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

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

Trong ví dụ này,

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
3 là tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 của quy trình được lưu trữ.

Giả sử rằng bạn muốn tìm văn phòng định vị ở Hoa Kỳ, bạn cần chuyển một đối số (

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
6) cho thủ tục được lưu trữ như trong truy vấn sau:

CALL GetOfficeByCountry('USA');

Code language: SQL (Structured Query Language) (sql)
Để tìm văn phòng trong

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
7, bạn chuyển chuỗi theo nghĩa đen

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
7 cho quy trình được lưu trữ ____ 39 & nbsp; như sau:
Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

To find offices in

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
7, you pass the literal string

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
7 to the

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
9 stored procedure as follows:

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
BECOULOUS TUYỆT VỜI

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
3 là tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1, bạn phải chuyển một đối số. Nếu bạn không làm như vậy, bạn sẽ gặp lỗi:
Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

Because the

CALL GetOfficeByCountry('France')

Code language: SQL (Structured Query Language) (sql)
3 is the

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
1 parameter, you must pass an argument. If you don’t do so, you’ll get an error:

CALL GetOfficeByCountry();

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

Đây là lỗi:

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)

Ví dụ tham số ra

Quy trình được lưu trữ sau đây trả về số lượng đơn đặt hàng theo trạng thái đặt hàng.

DELIMITER $$ CREATE PROCEDURE GetOrderCountByStatus ( IN orderStatus VARCHAR(25), OUT total INT ) BEGIN SELECT COUNT(orderNumber) INTO total FROM orders WHERE status = orderStatus; END$$ DELIMITER ;

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

Quy trình được lưu trữ ________ 42 & nbsp; có hai tham số:

  • CALL GetOfficeByCountry();

    Code language: SQL (Structured Query Language) (sql)
    3: tham số

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    1 chỉ định trạng thái của các đơn đặt hàng để trả về.

    CALL GetOfficeByCountry();

    Code language: SQL (Structured Query Language) (sql)
    3: is the

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    1 parameter specifies the status of orders to return.
  • CALL GetOfficeByCountry();

    Code language: SQL (Structured Query Language) (sql)
    5: là tham số

    DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

    Code language: SQL (Structured Query Language) (sql)
    2 lưu trữ số lượng đơn đặt hàng trong một trạng thái cụ thể.

Để tìm số lượng đơn đặt hàng đã được vận chuyển, bạn gọi

CALL GetOfficeByCountry();

Code language: SQL (Structured Query Language) (sql)
7 và vượt qua trạng thái đơn hàng kể từ

CALL GetOfficeByCountry();

Code language: SQL (Structured Query Language) (sql)
8 và cũng vượt qua biến phiên (

CALL GetOfficeByCountry();

Code language: SQL (Structured Query Language) (sql)
9) để nhận giá trị trả lại.

CALL GetOrderCountByStatus('Shipped',@total); SELECT @total;

Code language: SQL (Structured Query Language) (sql)
Để nhận số lượng đơn đặt hàng trong quá trình, bạn gọi thủ tục được lưu trữ ____ 47 & nbsp; như sau:
Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

To get the number of orders that are in-process, you call the stored procedure

CALL GetOfficeByCountry();

Code language: SQL (Structured Query Language) (sql)
7 as follows:

CALL GetOrderCountByStatus('in process',@total); SELECT @total AS total_in_process;

Code language: SQL (Structured Query Language) (sql)
Ví dụ tham số Inout
Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

The INOUT parameter example

Ví dụ sau đây cho thấy cách sử dụng tham số & nbsp; ________ 15 trong quy trình được lưu trữ:

DELIMITER $$ CREATE PROCEDURE SetCounter( INOUT counter INT, IN inc INT ) BEGIN SET counter = counter + inc; END$$ DELIMITER ;

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

Trong ví dụ này, quy trình được lưu trữ

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)
2 chấp nhận một ____ 15 & nbsp; tham số (

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)
4) và một tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)
6). Nó tăng bộ đếm (

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)
4) theo giá trị được chỉ định bởi tham số

Error Code: 1318. Incorrect number of arguments for PROCEDURE classicmodels.GetOfficeByCountry; expected 1, got 0

Code language: JavaScript (javascript)
6.

Những tuyên bố này minh họa cách gọi thủ tục được lưu trữ ____ 59 & nbsp;

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

Đây là đầu ra:

Hướng dẫn how to use out in mysql? - làm thế nào để sử dụng hết trong mysql?

Trong hướng dẫn này, bạn đã học được cách tạo các thủ tục được lưu trữ với các tham số bao gồm các tham số

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2 và

DELIMITER // CREATE PROCEDURE GetOfficeByCountry( IN countryName VARCHAR(255) ) BEGIN SELECT * FROM offices WHERE country = countryName; END // DELIMITER ;

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

Hướng dẫn này có hữu ích không?

Làm cách nào để sử dụng trong mysql?

Quy trình với tham số ra ngoài: Tham số Inout là sự kết hợp của các tham số trong và ngoài. Điều đó có nghĩa là chương trình gọi có thể chuyển đối số và quy trình được lưu trữ có thể sửa đổi tham số Inout và chuyển giá trị mới trở lại chương trình gọi.the calling program may pass the argument, and the stored procedure can modify the INOUT parameter and pass the new value back to the calling program.

Tham số ra trong MySQL là gì?

Tham số quy trình lưu trữ MySQL có ba chế độ: In, Out và Inout. Khi chúng tôi khai báo một tham số loại trong, ứng dụng phải chuyển một đối số cho quy trình được lưu trữ. Nó là một chế độ mặc định. Tham số loại OUT, quy trình được lưu trữ trả về đầu ra cuối cùng được tạo bởi các câu lệnh SQL.the stored procedure returns a final output generated by SQL Statements.

Tại sao chúng ta sử dụng trong SQL?

Nếu bạn đang đề cập đến RDBM như SQL Server thì các tham số đầu ra được sử dụng để nắm bắt tập hợp kết quả thực thi trong biến vô hướng.Nếu bạn không trả lại đầu ra trong quy trình được lưu trữ, bạn vẫn sẽ nhận được kết quả sau khi thực hiện nhưng bạn không thể lưu trữ nó trong một biến hoặc sử dụng nó sau trong mã của bạn.to capture the result set of execution in a scalar variable. If you are not returning the output in the stored procedure you will still get the result after the execution but you cannot store it in a variable or use it later in your code.

Những gì trong và ngoài trong thủ tục SQL?

Tham số đầu vào/đầu ra là một tham số có chức năng như một tham số trong hoặc ngoài hoặc cả hai.Giá trị của tham số in/ra được chuyển vào quy trình/hàm được lưu trữ và giá trị mới có thể được gán cho tham số và được chuyển ra khỏi mô -đun.Một tham số in/ra phải là một biến, không phải là hằng số.. The value of the IN/OUT parameter is passed into the stored procedure/function and a new value can be assigned to the parameter and passed out of the module. An IN/OUT parameter must be a variable, not a constant.