I have a procedure in SQL Server as follows:
I am trying to write a postgresql function exactly like the above. I tried something like this:
CREATE OR REPLACE FUNCTION getadmbyyear(IN a integer, IN b character varying)
RETURNS TABLE(monname character varying, mon integer, adm integer, selected integer) AS
$BODY$
DECLARE testtypeid int;
select top 1 testtypeid := typeid from Reports_ReportMenu
where ID = $2
select MonName,Mon,Adm,
case when ROW_NUMBER() OVER(ORDER BY Mon,Adm) = '1' then
cast(1 as int) else cast(0 as int) end as Selected
from eivTestAdms
where test_type_id=testtypeid and "YR"=$1 and Adm is not null
order by Mon,Adm
$BODY$
LANGUAGE sql;
Here I am getting syntax error in the declare statement at int. Am I writing the function in the right format?