DO
$do$
DECLARE
a integer[] := array[1,2,3];
i integer; -- int, not bigint
BEGIN
FOR i IN 1 .. array_upper(a, 1)
LOOP
RAISE NOTICE '%', a[i]; -- single quotes
END LOOP;
END
$do$;
या FOREACH
. के साथ आसान PostgreSQL 9.1 या बाद के संस्करण में:
FOREACH i IN ARRAY a
LOOP
RAISE NOTICE '%', i;
END LOOP;
बहु-आयामी सरणियों के लिए देखें:
- plpgsql में सरणी आयाम पर लूप करें
हालांकि, सेट-आधारित समाधान generate_series()
. के साथ या unnest()
अक्सर बड़े सेटों पर लूपिंग की तुलना में तेज़ होते हैं। बुनियादी उदाहरण:
- PostgreSQL:फ़्रीक्वेंसी तालिका विस्तार
- आरंभ और समाप्ति तिथि के बीच प्रत्येक माह का चयन करें
अधिक के लिए टैग जनरेट-सीरीज़ या अननेस्ट खोजें।