आप उस फ़ंक्शन को कैसे निष्पादित कर रहे हैं? यह एक चुनिंदा बयान के रूप में काम करता है।
एक तालिका बनाएं:public.users
create table public.users (id int, firstname varchar, lastname varchar);
कुछ रिकॉर्ड डालें:
insert into public.users values (1, 'aaa','bbb'),(2,'ccc','ddd');
समारोह:my_function
CREATE OR REPLACE FUNCTION my_function(user_id integer) RETURNS TABLE(id integer, firstname character varying, lastname character varying) AS $$
DECLARE
ids INTEGER[];
BEGIN
ids := ARRAY[1,2];
RETURN QUERY
SELECT users.id, users.firstname, users.lastname
FROM public.users
WHERE users.id = ANY(ids);
END;
$$ LANGUAGE plpgsql;
अब आप *
. के साथ उपयोग कर सकते हैंselect * from my_function(1);
क्वेरी का परिणाम
id | firstname | lastname
----+-----------+----------
1 | aaa | bbb
2 | ccc | ddd
या कॉलम नामों के साथ भी
select id,firstname,lastname from my_function(1);
परिणाम
id | firstname | lastname
----+-----------+----------
1 | aaa | bbb
2 | ccc | ddd