आप एक सेट रिटर्निंग फ़ंक्शन का उपयोग कर सकते हैं:
create or replace function label_params(parm1 text, parm2 text)
returns table (param_label text, param_graphics_label text)
as
$body$
select ...
WHERE region_label = $1
AND model_id = (SELECT model_id FROM models WHERE model_label = $2)
....
$body$
language sql;
तब आप यह कर सकते हैं:
select *
from label_params('foo', 'bar')
बीटीडब्ल्यू:क्या आप वाकई चाहते हैं:
AND model_id = (SELECT model_id FROM models WHERE model_label = $2)
अगर model_label
अद्वितीय नहीं है (या प्राथमिक कुंजी) तो यह अंततः एक त्रुटि फेंक देगा। आप शायद चाहते हैं:
AND model_id IN (SELECT model_id FROM models WHERE model_label = $2)