बनाते समय मुझे सिंटेक्स त्रुटि देता कोडArray_append का उपयोग कर यहाँ PostgreSQL समारोह
CREATE OR REPLACE FUNCTION primes (IN integer) RETURNS TEXT AS $$
DECLARE
counter INTEGER = $1;
primes int [];
mycount int;
BEGIN
WHILE counter != 0 LOOP
mycount := count(primes);
array_append(primes [counter], mycount);
counter := counter - 1;
END LOOP;
RETURN array_to_text(primes[], ',');
END;
$$
LANGUAGE 'plpgsql'
यह मैं एक प्रमुख पैदा समारोह की शुरुआत विकसित कर रहा है है। मैं इसे सरणी की 'गिनती' वापस करने के लिए बस इसे प्राप्त करने की कोशिश कर रहा हूं। तो अगर मैं समारोह में '7' पास करता हूं तो मुझे वापस [0, 1, 2, 3, 4, 5, 6] प्राप्त करना चाहिए।
लेकिन जब मैं इस समारोह बनाने की कोशिश मैं
SQL Error: ERROR: syntax error at or near "array_append" LINE 1: array_append($1 [ $2 ], $3)
^QUERY: array_append($1 [ $2 ], $3) CONTEXT: SQL statement in PL/PgSQL function "primes" near line 8
मिल रहा postgres कार्यों के साथ एक नौसिखिया हूँ। मुझे समझ में नहीं आ रहा है कि मैं इस सरणी को ठीक से काम करने के लिए क्यों नहीं मिल सकता।
फिर भी मैं चाहता हूं कि इस सरणी को सरणी की 'वर्तमान' गिनती के साथ सही ढंग से भरना है। (यह सिर्फ मुझे समझने में मदद करने के लिए और अधिक है कि वास्तव में यह लूप सही ढंग से कर रहा है और इसे सही तरीके से गिन रहा है)।
आपकी मदद के लिए धन्यवाद।
प्राइम जेनरेट करने के लिए आप डेटाबेस का उपयोग क्यों कर रहे हैं?! –
मुझे लगता है कि आप केवल पीएल/एसक्यूएल सीखने के लिए ऐसा कर रहे हैं - मुझे लगता है कि इस सवाल के लिए एसओ एक और उचित जगह होगी। – MikeyB
हाँ मैं सीखने के लिए बस यह कर रहा हूं। – StanM