[GENERAL] Converting stored procedures from SQL Anywhere to PostGres.
I am trying to convert stored procedures from SQL Anywhere to Postgres. I am getting error ERROR: syntax error at or near return LINE 2: return integer AS ^ ** Error ** ERROR: syntax error at or near return SQL state: 42601 Character: 81 when I run this. I'm not sure what the problem is here. Any help would be appreciated. CREATE OR REPLACE FUNCTION iss.ConfigAddKey (in isscontrib.citext,pkeyname) return integer AS $BODY$ begin declare l:retval integer; declare l:id integer; if exists(select id into l:id from iss.configkeys where keyname = pkeyname) then l:retval := l:id else insert into iss.configkeys(keyname) values (pKeyname); end if; return retval end; $BODY$ LANGUAGE 'plpgsql'; Michael Gould Intermodal Software Solutions, LLC 904-226-0978 -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Converting stored procedures from SQL Anywhere to PostGres.
On Wed, Mar 7, 2012 at 12:51 PM, mgo...@isstrucksoftware.net wrote: I am trying to convert stored procedures from SQL Anywhere to Postgres. I am getting error ERROR: syntax error at or near return LINE 2: return integer AS ^ ** Error ** ERROR: syntax error at or near return SQL state: 42601 Character: 81 when I run this. I'm not sure what the problem is here. Any help would be appreciated. CREATE OR REPLACE FUNCTION iss.ConfigAddKey (in isscontrib.citext,pkeyname) return integer AS $BODY$ begin declare l:retval integer; declare l:id integer; if exists(select id into l:id from iss.configkeys where keyname = pkeyname) then l:retval := l:id else insert into iss.configkeys(keyname) values (pKeyname); end if; return retval end; $BODY$ LANGUAGE 'plpgsql'; Well, the languages are obviously not compatible. You're going to have to convert them all and to do that you're going to have a decent understanding of both languages. I doubt there are any automatic tools to do it. start here: http://www.postgresql.org/docs/current/static/plpgsql.html merlin -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Converting stored procedures from SQL Anywhere to PostGres.
On 03/07/2012 10:51 AM, mgo...@isstrucksoftware.net wrote: I am trying to convert stored procedures from SQL Anywhere to Postgres. I am getting error ERROR: syntax error at or near return LINE 2: return integer AS ^ ** Error ** ERROR: syntax error at or near return SQL state: 42601 Character: 81 when I run this. I'm not sure what the problem is here. Any help would be appreciated. CREATE OR REPLACE FUNCTION iss.ConfigAddKey (in isscontrib.citext,pkeyname) return integer AS ^^^ Should be returns For a good overview see: http://www.postgresql.org/docs/9.0/interactive/plpgsql-structure.html $BODY$ begin declare l:retval integer; declare l:id integer; if exists(select id into l:id from iss.configkeys where keyname = pkeyname) then l:retval := l:id else insert into iss.configkeys(keyname) values (pKeyname); end if; return retval end; $BODY$ LANGUAGE 'plpgsql'; Michael Gould Intermodal Software Solutions, LLC 904-226-0978 -- Adrian Klaver adrian.kla...@gmail.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general