pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Moritz Bayer <moritz.bayer@googlemail.com>
To: pgsql-sql@postgresql.org
Subject: Problem with self-made plpgsql-function / casting
Date: Sat, 20 Aug 2005 16:54:22 +0200
Message-ID: <c244500b0508200754193958c7@mail.gmail.com> (raw)

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

view thread (5+ messages)  latest in thread

Message-ID: <c244500b0508200754193958c7@mail.gmail.com>
Permalink:  ../c244500b0508200754193958c7@mail.gmail.com/
Also on:    postgresql.org/message-id/c244500b0508200754193958c7@mail.gmail.com

 · 

reply

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: moritz.bayer@googlemail.com
  Subject: Re: Problem with self-made plpgsql-function / casting
  In-Reply-To: <c244500b0508200754193958c7@mail.gmail.com>

* 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