pl/pgSQL and escaping LIKE clauses

Поиск
Список
Период
Сортировка
От Robby Slaughter
Тема pl/pgSQL and escaping LIKE clauses
Дата
Msg-id EPEHLKLEHAHLONFOKNHNCELODBAA.webmaster@robbyslaughter.com
обсуждение исходный текст
Ответ на select with multiple occurences in same table  ("William Herring" <wherring@mail.ifas.ufl.edu>)
Список pgsql-sql
I'm having trouble getting LIKE clauses to work correctly inside a plpgSQL
function.

Here's my table:

 id |  val
----+-------------
  1 | hello
  2 | there
  3 | everyone


Here's my function:

CREATE FUNCTION intable(char)
RETURNS INTEGER
AS
'
DECLARE
  input ALIAS FOR $1;
  temp  INTEGER;
BEGIN
  SELECT INTO temp id FROM test WHERE val LIKE ''input%'';
  RAISE NOTICE ''Value of temp is %'',temp;
  RETURN temp;
END;
'
LANGUAGE 'plpgsql';

I should be able to SELECT('hello') and get back 1, correct?

No matter what I put in as a parameter, it always returns null.

If I change the LIKE clause to read "...LIKE ''hello%''" it does
in fact work. Or if I scrap the LIKE clause and have it
read something such as ".... id = input" (if input is an integer)
it also works fine.

Any thoughts?

Thanks,
Robby

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

Предыдущее
От: "Josh Berkus"
Дата:
Сообщение: Re: select with multiple occurences in same table
Следующее
От: Markus Wagner
Дата:
Сообщение: loosing connection after function call