देखें:http://www.postgresql.org/docs/9.1/static/arrays.html
यदि आपका गैर-देशी ड्राइवर अभी भी आपको सरणियों को पारित करने की अनुमति नहीं देता है, तो आप यह कर सकते हैं:
-
एक सरणी का एक स्ट्रिंग प्रतिनिधित्व पास करें (जिसे आपकी संग्रहीत प्रक्रिया तब एक सरणी में पार्स कर सकती है - देखें
string_to_array
)CREATE FUNCTION my_method(TEXT) RETURNS VOID AS $$ DECLARE ids INT[]; BEGIN ids = string_to_array($1,','); ... END $$ LANGUAGE plpgsql;
तब
SELECT my_method(:1)
साथ :1 =
'1,2,3,4'
-
एक स्ट्रिंग से एक सरणी में डालने के लिए पोस्टग्रेज़ पर ही भरोसा करें
CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql;
तब
SELECT my_method('{1,2,3,4}')
-
बाइंड वेरिएबल्स का उपयोग न करने का चयन करें और इसके बजाय सभी मापदंडों के साथ एक स्पष्ट कमांड स्ट्रिंग जारी करें (एसक्यूएल इंजेक्शन हमलों से बचने के लिए बाहर से आने वाले सभी मापदंडों को मान्य करना या बचाना सुनिश्चित करें।)
CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql;
तब
SELECT my_method(ARRAY [1,2,3,4])