Advertisement
Rahmadnet

PL/pgSQL Errors and Messages

Jul 28th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. create table employe
  2. (
  3.     emp_id serial,
  4.     emp_name varchar (50),
  5.     gender char(1),
  6.     age smallint
  7.  
  8. );
  9.  
  10. select * from employe
  11.  
  12. insert into employe
  13. (emp_name, gender, age) values
  14. ('Rahmad', 'L', 24),
  15. ('Wandi', 'L', 21),
  16. ('Wildan', 'L', 22),
  17. ('Andari', 'L', 19),
  18. ('Rahmadi', 'L', 19);
  19.  
  20. create or replace function fn_GetEmployeeData
  21. (
  22.     Paging_PageSize integer = null,
  23.     paging_PageNumber Integer = null
  24. )
  25. returns table
  26. (
  27.     outemp_id integer,
  28.     outemp_name varchar,
  29.     outgender char(1),
  30.     outage smallint
  31. ) as $BODY$
  32. declare PageNumber bigint;
  33. declare TempINT integer;
  34.  
  35. begin
  36.     if (paging_pagesize is not null and paging_pagenumber is not null) then
  37.         PageNumber := (Paging_PageSize * (Paging_PageNumber - 1));
  38.     end if;
  39.  
  40.     raise info '%','Construction of Custom Paging Parameter - DONE ' || clock_timestamp();
  41.    
  42.     TempINT := 100;
  43.     while (TempINT > 0)
  44.     loop
  45.     TempINT := TempINT - 1;
  46.     raise info '%','The current value of TempINT ' || TempINT;
  47.     end loop;
  48.  
  49.     return query
  50.     select
  51.     emp_id,
  52.     emp_name,
  53.     gender,
  54.     age
  55.     from public.employe
  56.     order by emp_id
  57.     limit Paging_PageSize
  58.     offset PageNumber;
  59.  
  60.     raise info '%','Final result set of main query - DONE ' || clock_timestamp();
  61.    
  62.     exception when others then raise;
  63.    
  64. end;
  65. $BODY$
  66. language 'plpgsql';
  67.  
  68.  
  69.  
  70.  
  71. select * from public.fn_GetEmployeeData(1,2);
  72.  
  73. --drop function fn_getemployeedata;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement