From: | Moritz Bayer <moritz(dot)bayer(at)googlemail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Problem with self-made plpgsql-function / casting |
Date: | 2005-08-20 14:54:22 |
Message-ID: | c244500b0508200754193958c7@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello,
I'm a newbie to postgres and trying to produce my first functions.
Everything works fine as long as it takes numeric parameters, but when I'm
trying to use varchar or text-parameters, it fails and throws the following
exception:
ERROR: function public.fc_editlanguage(integer, "unknown", "unknown",
integer) does not exist
HINT: No function matches the given name and argument types. You may need to
add explicit type casts.
So I thought I would have to use the pgfunction cast(parameter as type)
before working with the parameter within the function. Still, the same
exception is thrown and I haven't got a clue how to solve this problem. Hope
someone can help me out, here is my written function:
CREATE OR REPLACE FUNCTION "public"."fc_editlanguage" (id bigint, name
varchar, kuerzel varchar, active smallint) RETURNS smallint AS
$body$
DECLARE id bigint;
DECLARE varlanguage varchar(60);
DECLARE browsershortcut varchar(10);
DECLARE insertdate date;
DECLARE active smallint;
DECLARE varreturn smallint;
Begin
varreturn := 0;
id := $1;
varlanguage := cast($2 as varchar(60));
bowsershortcut := cast($3 as varchar(10));
active := $4;
if(id=0) then
insertdate := now();
INSERT INTO tbl_language (la_language, la_browsershortcut, la_insertdate,
la_active)
VALUES
(varlanguage, browsershortcut, insertdate, active);
else
UPDATE tbl_language SET la_language=varlanguage,
la_browsershortcut=browsershortcut, la_active=active
WHERE la_id = id;
end if;
return varreturn;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
Greetings from Germany,
Moritz
PS: I'm using postgres 8.0 on a xp system
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Dingee | 2005-08-20 15:45:38 | Re: Problem with self-made plpgsql-function / casting |
Previous Message | Halley Pacheco de Oliveira | 2005-08-20 11:25:16 | Re: SQL CASE Statements |