Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create table employe
- (
- emp_id serial,
- emp_name varchar (50),
- gender char(1),
- age smallint
- );
- select * from employe
- insert into employe
- (emp_name, gender, age) values
- ('Rahmad', 'L', 24),
- ('Wandi', 'L', 21),
- ('Wildan', 'L', 22),
- ('Andari', 'L', 19),
- ('Rahmadi', 'L', 19);
- create or replace function fn_GetEmployeeData
- (
- Paging_PageSize integer = null,
- paging_PageNumber Integer = null
- )
- returns table
- (
- outemp_id integer,
- outemp_name varchar,
- outgender char(1),
- outage smallint
- ) as $BODY$
- declare PageNumber bigint;
- declare TempINT integer;
- begin
- if (paging_pagesize is not null and paging_pagenumber is not null) then
- PageNumber := (Paging_PageSize * (Paging_PageNumber - 1));
- end if;
- raise info '%','Construction of Custom Paging Parameter - DONE ' || clock_timestamp();
- TempINT := 100;
- while (TempINT > 0)
- loop
- TempINT := TempINT - 1;
- raise info '%','The current value of TempINT ' || TempINT;
- end loop;
- return query
- select
- emp_id,
- emp_name,
- gender,
- age
- from public.employe
- order by emp_id
- limit Paging_PageSize
- offset PageNumber;
- raise info '%','Final result set of main query - DONE ' || clock_timestamp();
- exception when others then raise;
- end;
- $BODY$
- language 'plpgsql';
- select * from public.fn_GetEmployeeData(1,2);
- --drop function fn_getemployeedata;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement