Để đặt tên cho con trỏ, chỉ cần gán một chuỗi cho refcursor
biến:
DECLARE
ref refcursor := ''willi'';
Sau đó, cổng sẽ có tên đó.
Điều quan trọng là bạn phải chỉ định tên trước bạn mở con trỏ.
Nếu bạn không muốn gán tên, chỉ cần truyền kết quả hàm thành text
, điều đó sẽ cung cấp cho bạn tên con trỏ.
Cách sử dụng FETCH
tùy thuộc vào môi trường nơi bạn gọi nó:
-
Nếu bạn gọi nó từ SQL, bạn phải làm như thế này:
FETCH ALL FROM willi;
Bạn sẽ phải tạo câu lệnh SQL bằng cách sử dụng kết quả từ hàm, truyền sang
text
. -
Nếu bạn gọi nó từ PL / pgSQL, bạn có thể sử dụng một biến trong
FETCH
nhưng bạn phải cung cấp đích cho kết quả:DECLARE r refcursor; x text; -- use the correct type BEGIN r := reffunc2(); FETCH NEXT FROM r INTO x; END;