Thank you Merlin for your answer, I tried that and is working as you said. But when I do other_array=some_array[1:2]; I'm getting the entire '{{samba,sarath,sreenivas},{samba,mukhesh,pavan}}';
not just the second subarray, i.e. '{{samba,mukhesh,pavan}}'. Is there any way I can get only the corresponding slice of the array? otherwise I need to call this function multiple times from my java client, once per each sub-array which I think will more expensive that doing it in just one stored procedure call. Regards, Samba On Thu, Dec 2, 2010 at 2:04 AM, Merlin Moncure <mmonc...@gmail.com> wrote: > On Wed, Dec 1, 2010 at 10:51 AM, Samba <saas...@gmail.com> wrote: > > Hi all, > > > > I'm trying to loop over a multidimensional array and find if any of the > > elements in a sub-dimensional array are matching some known criteria but > > facing issue with NULL for the sub arrays. > > > > I have a data structure that looks like: > > > > some_array VARCHAR[][] := > > '{{samba,sarath,sreenivas},{samba,mukhesh,pavan}}'; > > > > I'm trying to assign the individual sub arrays to other array elements > like: > > > > other-array VARCHAR[]; > > > > other_array=some_array[1]; > > > > and I'm expecting to get '{samba,sarath,sreenivas}' for index 1 and > > {samba,mukhesh,pavan} for index 2; > > however, I'm getting NULL. > > > > Can some one explain the way I can assign subarrays to other array > elements > > plpgsql? > > There is no truly effective way to do that. you can however slice the > array which is almost as good: > other_array=some_array[1:1]; > note this will give {{samba,sarath,sreenivas}}, not > {samba,sarath,sreenivas} > > merlin >