Dear Expert;
Gimme your hand please,
I've been using function with "Language SQL" and combined with
"type" for the simply-one. Like this;
-------------------------------------
create type simply_1 as(
fc_name char(20),
fn_codedept integer,
fc_descdept char(30) );
Create function F_Simple(integer) returns setof d_4developer.ty_rep_coba as
' select a.fc_name, a.fn_codedept, b.fc_descdept
from Emplo_Corp a, Depart b
where a.fn_codedept = b.fn_codedept and
a.fn_codedept = $1;
' language SQL;
--------------------------------------
That's running pretty good. But now i have more complicated condition.
There are hundreds combination of reports must be handled by me and
most of all have the same result. If i still using style of "Language
SQL", that's means I will have to make function as much as my report.
I Tried Using style "Language PlPgSql" but I got a Fully Confused
about what a kind of RETURN i will use ??
-------------------------------------------------
Create or replace function MultiRpt(integer,char(1))
setof d_4developer.ty_rep_coba as
'begin
-- View Corporate's Employee
If $2 = ''C'' Then
select a.fc_name, a.fn_codedept, b.fc_descdept
from Emplo_Corp a, depart b
where a.fn_codedept = b.fn_codedept and
a.fn_codedept = $1;
End If;
-- View Branch'A' Employee
If $2 = ''A'' Then select a.fc_name, a.fn_codedept, b.fc_descdept
from Emplo_BRANCH_A a, depart b
where a.fn_codedept = b.fn_codedept and
a.fn_codedept = $1;
End If;
-- View Branch'B' Employee
If $2 = ''B'' Then select a.fc_name, a.fn_codedept, b.fc_descdept
from Emplo_BRANCH_B a, depart b
where a.fn_codedept = b.fn_codedept and
a.fn_codedept = $1;
End If;'
Return (-- ?? --)
end;' language PlPgSql;
-------------------------------------------------
Some advice will be helpfull. Thank's
GOD Bless You All and Bravo Postgres !!
Yudha Setiawan.
VoIP
No. : 628899911223344