On 05/12/2010 01:32 PM, Josh wrote:
Hello, I'm a little new at this so please bear with me.

I am trying to create a function that loads 100M test records into a database, however I am having a hard time building the function that does so.

I'm trying to do this in PGAdmin III for Ubuntu. Is there something that I have wrong with this? I know that this works in MySQL (and yes I know that MySQL bends the SQL Standards), but I am not sure what I am doing wrong exactly. I am coming up with the error that says there's an error in my syntax near the v INTEGER := 0 line. I get the same error in psql as I do in the PGAdmin III.

I have the following so far:

DECLARE
v INTEGER := 0;
BEGIN
while v < 100000000
DO
INSERT INTO unpart_tbl_test VALUES
(v, 'test string data', adddate('1995-01-01', (rand(v)*36520) mod 3652));
v := v + 1;
END WHILE;
END;

Any insight would be greatly appreciated.

- J

after some digging I had to first create a language plpgsql, then I changed the function to be as follows:

CREATE FUNCTION no_part_tbl() RETURNS void AS '
DECLARE
v INTEGER := 0;
BEGIN
WHILE v < 100000000 LOOP
INSERT INTO no_part_tbl VALUES
(v, "testing no parts", adddate("1995-01-01",
(rand(v)*36520 % 3652));
v := v + 1;
END LOOP;
END;
' LANGUAGE 'plpgsql';

And it seems to accepted the function finally. SOrry for the waste of bandwidth and anyones time. I'm not used to this syntax, so it will take me a bit to get on boad with it.

- J


--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to