Stored Procedure – Output Parameters

Stored Procedure - Output Parameters
Stored Procedure - Output Parameters

Khi làm việc với stored procedure, chúng ta sẽ chia nhỏ mỗi tác vụ thành một procedure. Một tác vụ đôi khi bao gồm nhiều procedure phối hợp lại với nhau. Khi đó, kết quả của một vài procedures có thể là input của một procedure khác. Để làm được việc đó chúng ta sẽ cần lưu kết quả của procedure vào một biến. Biến số để chúng ta lấy một kết quả ra khỏi procedure được gọi là output parameter.

Để khai báo một output parameter, chúng ta sẽ sử dụng cú pháp:

Ngoài việc thêm từ khóa OUTPUT, thì output parameter cũng hoạt động như một parameter bình thường. Chúng ta cùng xem qua ví dụ:

Trong ví dụ này, ngoài tham số year mình sẽ khai báo thêm 1 tham số output là invoice_count. Mục đích của tham số này là đếm số lượng invoice được tìm thấy. Đoạn mã SELECT @invoice_count = @@ROWCOUNT có ý nghĩa là truy vấn và lưu trữ số lượng dòng dữ liệu trong câu truy vấn trước đó. Lấy kết quả và lưu vào biến invoice_count.

Để thực thi và nhận giá trị từ procedure, mình có đoạn mã sau:

Lúc này, khi thực thi, kết quả mình nhần được sẽ là:

Kết quả của output parameter
Kết quả của output parameter

Ngoài câu truy vấn, mình còn nhận được số lượng invoice được lưu trữ trong một biến. Nếu cần thiết, mình có thể sử dụng biến này trong một câu truy vấn khác. Hoặc sử dụng biến đó làm tham số đầu vào của một procedure khác.