Thread: Trying to write a function...

Trying to write a function...

From
Wim
Date:
Hello,

I'm trying to write a function that add new rows to a table, but I don't 
succeed.....
It's something like this:

CREATE FUNCTION f_addrtr (varchar(16),varchar(32)) RETURNS bool AS '
DECLARE
index int4;
BEGIN
index := 'nextval('s_routerid')';
INSERT INTO t_routers VALUES (index, $1, $2);
RETURN 1;
END;'
LANGUAGE 'plpgsql';

What am I doing wrong?


Cheers!

Wim.



Re: Trying to write a function...

From
Josh Berkus
Date:
Wim,

> CREATE FUNCTION f_addrtr (varchar(16),varchar(32)) RETURNS bool AS '
> DECLARE
> index int4;
> BEGIN
> index := 'nextval('s_routerid')';
> INSERT INTO t_routers VALUES (index, $1, $2);
> RETURN 1;
> END;'
> LANGUAGE 'plpgsql';
>
> What am I doing wrong?

Bad quotes, bad data type usage.  Change as follows:

CREATE FUNCTION f_addrtr (varchar(16),varchar(32)) RETURNS bool AS '
DECLARE
index int4;
BEGIN
index := nextval(''s_routerid'');INSERT INTO t_routers VALUES (index, $1, $2);RETURN TRUE;
END;'LANGUAGE 'plpgsql';


--
-Josh BerkusAglio Database SolutionsSan Francisco