[GENERAL] Converting stored procedures from SQL Anywhere to PostGres.

2012-03-07 Thread mgould
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.

2012-03-07 Thread Merlin Moncure
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.

2012-03-07 Thread Adrian Klaver

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