कोई CREATE TEMP FUNCTION ...
. नहीं है मौजूदा CREATE TEMP TABLE ...
. की तरह . लेकिन अस्थायी स्कीमा pg_temp
. में फ़ंक्शन बनाने की तरकीब है , जैसे लिंक किया गया उत्तर प्रदान करता है
. फ़ंक्शन केवल उसी सत्र में दिखाई देता है और इसे केवल स्कीमा-योग्य नाम से ही बुलाया जा सकता है:
CREATE FUNCTION pg_temp.f_inc(int)
RETURNS int AS 'SELECT $1 + 1' LANGUAGE sql IMMUTABLE;
SELECT pg_temp.f_inc(42);
f_inc
-----
43
मैं इस विचार को टॉम लेन की इस पोस्ट पर वापस देख सकता हूं pgsql-सामान्य ।
तरकीबों के बिना निकटतम चीज एक तैयार बयान . होगा . अस्थायी SQL फ़ंक्शन की तरह कार्य करता है जो सत्र के अंत में मर जाता है। समान नहीं चीज़, हालांकि, और केवल स्वयं ही उपयोग की जा सकती है, किसी बड़ी क्वेरी के संदर्भ में नहीं। उदाहरण:
PREPARE upd_tbl AS
UPDATE tbl t SET set_name = $2 WHERE tbl_id = $1;
कॉल करें:
EXECUTE upd_tbl(123, 'foo_name');
विवरण: