From: Victor Yegorov <viy@nordlb.lv>
To: Postgres SQL <pgsql-sql@postgresql.org>
Subject: Array dimension as integer
Date: Thu, 8 May 2003 12:57:45 +0300
Message-ID: <20030508095745.GA22337@nordlb.lv> (raw)
Hello.
I'm using:
PostgreSQL 7.3.2 on i686-pc-linux-gnu, compiled by GCC 2.95.3
and I'd like to have a function, which would receive array of varchars and then
create and EXECUTE insert statement for each of array elements (array has 1
dimension):
FOR i IN 1..array_length_function($1) LOOP
EXECUTE ...;
END LOOP;
I've tried to use array_dims, but it gives data in string format:
select test_array('{\'a\'}');
WARNING: Error occurred while executing PL/pgSQL function test_array
WARNING: line 8 at select into variables
ERROR: pg_atoi: error in "[1:1]": can't parse "[1:1]"
I've attached test_array source.
--
Victor Yegorov
Attachments:f.sql (text/plain, 288B) download
--
-- Function to update data
--
CREATE OR REPLACE FUNCTION test_array(varchar[]) RETURNS int4 IMMUTABLE AS '
DECLARE
t_data ALIAS FOR $1;
_size INT4;
BEGIN
SELECT INTO _size array_dims(t_data);
RAISE NOTICE ''Input array size is %'',_size;
RETURN _size;
END;
' LANGUAGE plpgsql;
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: viy@nordlb.lv
Subject: Re: Array dimension as integer
In-Reply-To: <20030508095745.GA22337@nordlb.lv>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox