एक सरणी पास करें शाब्दिक एक सरणी निर्माता के बजाय। मान स्ट्रिंग शाब्दिक<के रूप में पास किया जा सकता है /ए> , तो इसे Postgres द्वारा सही प्रकार के लिए बाध्य किया जाता है:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
पूर्व शर्त:फ़ंक्शन "ओवरलोडेड" नहीं है ताकि फ़ंक्शन प्रकार रिज़ॉल्यूशन बिना इनपुट के स्पष्ट हो।
संबंधित:
- पोस्टग्रेज़ फ़ंक्शन के लिए कस्टम प्रकार सरणी कैसे पास करें
- नोड-पीजी और एसक्यूएल इंजेक्शन से कार्य को पोस्टग्रेज करने के लिए कस्टम प्रकार की पासिंग सरणी
- पोस्टग्रेज़ में फ़ंक्शन ओवरलोडिंग को अक्षम करने का कोई तरीका है
यदि आपके पास 100 से कम सरणी तत्व हैं, तो एक VARIADIC
फ़ंक्शन पासिंग तर्कों को सरल बनाने में मदद करेगा:
CREATE FUNCTION some_updates(VARIADIC t test[]) ...
फिर पंक्ति अक्षर पास करें जैसे:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
देखें:
यदि आपके पास पास करने के लिए (कई) और पंक्तियाँ हैं, तो उन्हें एक (अस्थायी) तालिका में लिखने पर विचार करें जिसमें एक सादा INSERT
हो और वहां से उन्हें संसाधित कर रहा है।