आपके पास INOUT
हो सकता है एक प्रक्रिया में पैरामीटर।
आप CALL
. के साथ एक प्रक्रिया को कॉल करते हैं बयान; अगर कोई INOUT
है तो पैरामीटर, स्टेटमेंट SELECT
. की तरह ही एक परिणाम पंक्ति लौटाएगा ।
यहां एक उदाहरण दिया गया है जो एक ऐसी प्रक्रिया का उपयोग करता है जो refcursor
लौटाती है :
CREATE PROCEDURE testproc(INOUT r refcursor) LANGUAGE plpgsql AS
$$BEGIN
r := 'cur';
OPEN r FOR VALUES (1), (42), (12321);
END;$$;
BEGIN;
CALL testproc(NULL);
r
-----
cur
(1 row)
FETCH ALL FROM cur;
column1
---------
1
42
12321
(3 rows)
COMMIT;