Thủ tục mysql đặt nhiều biến

Các thủ tục được lưu trữ có thể truy cập và đặt các biến cục bộ, phiên và toàn cầu

Các biến cục bộ được truyền vào dưới dạng tham số hoặc được tạo bằng câu lệnh DECLARE

Sử dụng câu lệnh DECLARE với DEFAULT sẽ đặt giá trị của biến cục bộ

DECLARE myInt INT DEFAULT 0;

Bạn có thể gán giá trị cho các biến cục bộ, phiên và biến toàn cục bằng cách sử dụng câu lệnh SET

SET myInt = 5;

Câu lệnh SET của MySQL cho phép đặt nhiều biến trong một câu lệnh

SET myInt1 = 5, myInt2 = 50;

Tôi có thể CHỌN nhiều cột thành nhiều biến trong cùng một truy vấn chọn trong MySQL không?

Ví dụ

KHAI BÁO iId INT[20];

DECLARE dCreate DATETIME;

CHỌN Id VÀO iId, dateCreated VÀO dCreate

TỪ sản phẩm

Ở ĐÂU pName=iName;

cú pháp chính xác cho điều này là gì?

Tóm lược. trong hướng dẫn này, bạn sẽ học cách phát triển các thủ tục được lưu trữ trả về nhiều giá trị

Hàm được lưu trữ trong MySQL chỉ trả về một giá trị. Để phát triển các chương trình được lưu trữ trả về nhiều giá trị, bạn cần sử dụng các thủ tục được lưu trữ với tham số

SET myInt = 5;
1 hoặc
SET myInt = 5;
2

Nếu bạn không quen thuộc với các tham số

SET myInt = 5;
1 hoặc
SET myInt = 5;
2, hãy xem hướng dẫn về tham số thủ tục lưu sẵn để biết thông tin chi tiết

Ví dụ về các thủ tục được lưu trữ trả về nhiều giá trị

Hãy xem bảng

SET myInt = 5;
5 trong cơ sở dữ liệu mẫu

Quy trình được lưu trữ sau đây chấp nhận số khách hàng và trả về tổng số đơn đặt hàng đã được giao, hủy, giải quyết và tranh chấp

DELIMITER $$ CREATE PROCEDURE get_order_by_cust[ IN cust_no INT, OUT shipped INT, OUT canceled INT, OUT resolved INT, OUT disputed INT] BEGIN -- shipped SELECT count[*] INTO shipped FROM orders WHERE customerNumber = cust_no AND status = 'Shipped'; -- canceled SELECT count[*] INTO canceled FROM orders WHERE customerNumber = cust_no AND status = 'Canceled'; -- resolved SELECT count[*] INTO resolved FROM orders WHERE customerNumber = cust_no AND status = 'Resolved'; -- disputed SELECT count[*] INTO disputed FROM orders WHERE customerNumber = cust_no AND status = 'Disputed'; END

Code language: SQL [Structured Query Language] [sql]

Ngoài tham số

SET myInt = 5;
6, thủ tục được lưu trữ có thêm bốn tham số
SET myInt = 5;
2. vận chuyển, hủy bỏ, giải quyết, và tranh chấp. Bên trong thủ tục được lưu trữ, bạn sử dụng câu lệnh

CALL get_order_by_cust[141,@shipped,@canceled,@resolved,@disputed]; SELECT @shipped,@canceled,@resolved,@disputed;

Code language: SQL [Structured Query Language] [sql]
0 với hàm

CALL get_order_by_cust[141,@shipped,@canceled,@resolved,@disputed]; SELECT @shipped,@canceled,@resolved,@disputed;

Code language: SQL [Structured Query Language] [sql]
1 để lấy tổng số đơn hàng tương ứng dựa trên trạng thái của đơn hàng và gán nó cho tham số tương ứng

Để sử dụng thủ tục được lưu trữ

CALL get_order_by_cust[141,@shipped,@canceled,@resolved,@disputed]; SELECT @shipped,@canceled,@resolved,@disputed;

Code language: SQL [Structured Query Language] [sql]
2, bạn chuyển mã số khách hàng và bốn biến do người dùng xác định để nhận các giá trị đầu ra

Sau khi thực hiện thủ tục lưu trữ, bạn sử dụng câu lệnh

CALL get_order_by_cust[141,@shipped,@canceled,@resolved,@disputed]; SELECT @shipped,@canceled,@resolved,@disputed;

Code language: SQL [Structured Query Language] [sql]
3 để xuất các giá trị của biến

CALL get_order_by_cust[141,@shipped,@canceled,@resolved,@disputed]; SELECT @shipped,@canceled,@resolved,@disputed;

Code language: SQL [Structured Query Language] [sql]

Gọi các thủ tục được lưu trữ trả về nhiều giá trị từ PHP

Đoạn mã sau chỉ cho bạn cách gọi thủ tục lưu trữ trả về nhiều giá trị từ PHP

Chủ Đề