आप इसे बहुत सस्ते में implement लागू करने के लिए PL/pgSQL की एक विशेषता का फायदा उठा सकते हैं :
CREATE OR REPLACE FUNCTION f_select_from_some_tbl(int)
RETURNS SETOF some_table AS
$func$
BEGIN
RETURN QUERY
SELECT *
FROM some_table
WHERE other_table_id = $1;
IF NOT FOUND THEN
RAISE WARNING 'Call with non-existing other_table_id >>%<<', $1;
END IF;
END
$func$ LANGUAGE plpgsql;
एक अंतिम RETURN;
इस मामले में वैकल्पिक है।
WARNING
केवल तभी उठाया जाता है जब आपकी क्वेरी कोई पंक्ति नहीं लौटाती है। मैं कोई ERROR
नहीं उठा रहा हूं उदाहरण में, चूंकि यह पूरे लेन-देन को वापस ले लेगा (लेकिन आप ऐसा कर सकते हैं यदि यह आपकी आवश्यकताओं के अनुरूप हो)।
हमने एक कोड उदाहरण जोड़ा है Postgres 9.3 के साथ मैनुअल के लिए इसे प्रदर्शित करने के लिए।