Using arguments with functions

Поиск
Список
Период
Сортировка
От Robert Fitzpatrick
Тема Using arguments with functions
Дата
Msg-id 000501c466b7$28257bd0$0c01a8c0@webtent.org
обсуждение исходный текст
Ответы Re: Using arguments with functions  (Oliver Elphick <olly@lfix.co.uk>)
Re: Using arguments with functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
While this function works when hard coded, the following will not when
trying the same thing with a argument. Can someone point to me what I'm
doing wrong?

CREATE OR REPLACE FUNCTION "public"."test" () RETURNS varchar AS'
DECLARE
  var1 varchar;

BEGIN
  var1 = chr( (ascii(''a'') + 1) );
  return var1;
END;
'LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

ohc=> select test();
 test
------
 b
(1 row)

This does not work:

CREATE OR REPLACE FUNCTION "public"."get_next" (varchar) RETURNS varchar AS'
DECLARE
  var1 alias for $1;

BEGIN
  var1 = chr( (ascii(var1) + 1) );
  return var1;
END;
'LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

ohc=> select get_next('a');
ERROR:  "$1" is declared CONSTANT
CONTEXT:  compile of PL/pgSQL function "get_next" near line 5

--
Robert


В списке pgsql-general по дате отправления:

Предыдущее
От: Bill Moran
Дата:
Сообщение: Re: win32 port
Следующее
От: Oliver Elphick
Дата:
Сообщение: Re: Using arguments with functions