Re: Newbie in functions - Mailing list pgsql-novice

From Chris
Subject Re: Newbie in functions
Date
Msg-id 5.1.0.14.0.20020418083158.00a9d5a0@cooee.cybersydney.com.au
Whole thread Raw
In response to Newbie in functions  (Eduardo_Cadena@praxair.com)
List pgsql-novice
Hi,

>I´m trying to create a function to obtain the possition of a substring, but
>i don't kown if is correct
>can anyone can  help me to do this?
>
>test=# CREATE FUNCTION pos1 (int4) RETURNS int4 AS '
>test'# UPDATE tabla1
>test'#   SET posicion1 = position('pm' in SELECT string1 FROM tabla1 WHERE
>id = $1)
>test'#   WHERE id = $1;
>test'# SELECT posicion1 FROM tabla1 WHERE id = $1;
>test'# 'LANGUAGE sql;
>ERROR:  parser: parse error at or near "pm"
>test=#

This one's a fairly simple one. You need to escape the quote around pm, so
it turns into:

SET posicion1 = position(\'pm\' in SELECT string1 FROM tabla1 WHERE
.........

(This is because you're already inside the function which starts at the
first ' on the top line).

.. and you're not returning any values yet either :)

HTH,

-----------------
      Chris Smith
http://www.squiz.net/


pgsql-novice by date:

Previous
From: Brian Scandale
Date:
Subject: Re: Interval data types and SQL Server
Next
From: "Josh Berkus"
Date:
Subject: Re: cannot restore db