Các con trỏ trong thủ tục
Một con trỏ là một tập hợp chứa kết quả của câu lệnh SELECT. Cú pháp để khai báo, mở, chuyển giá trị và đóng con trỏ như sau:
DECLARE <tên con trỏ> CURSOR [WITH RETURN <đích trả về>]
<câu lệnh SELECT>;
OPEN <tên con trỏ>;
FETCH < tên con trỏ > INTO <các biến>;
CLOSE < tên con trỏ>;
Khi một con trỏ được khai báo, mệnh đề WITH RETURN có thể được sử dụng với những giá trị sau:
- CLIENT: kết quả sẽ được trả về cho ứng dụng máy khách
- CALLER: kết quả sẽ được trả về cho máy khách hoặc thủ tục đã gọi nó
Đây là một ví dụ của thủ tục sử dụng con trỏ:
CREATE PROCEDURE set()
DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE cur CURSOR WITH RETURN TO CLIENT
FOR SELECT name, dept, job
FROM staff
WHERE salary > 20000;
OPEN cur;
END