आपको EXECUTE
. के साथ डायनेमिक SQL चाहिए यदि आप पहचानकर्ताओं (या उसके भागों) को पैरामीटर के रूप में पास करना चाहते हैं:
CREATE OR REPLACE FUNCTION f_trunc(pos text)
RETURNS void AS
$func$
BEGIN
EXECUTE format('TRUNCATE %I', massive_table_ || pos);
END
$func$ LANGUAGE plpgsql;
बहुत सारे स्पष्टीकरण और लिंक के साथ यहां दो संबंधित उत्तर दिए गए हैं:
- इन्सर्ट के साथ ट्रिगर फ़ंक्शन में गतिशील तालिका का नाम
- टेबल का नाम a के रूप में PostgreSQL फ़ंक्शन पैरामीटर