Language SQL, But Need Return PlPgSql - Mailing list pgsql-sql

From Yudha Setiawan
Subject Language SQL, But Need Return PlPgSql
Date
Msg-id 018101c2fdb8$6e46d1e0$ea00a8c0@yudha
Whole thread Raw
Responses Re: Language SQL, But Need Return PlPgSql
Re: Language SQL, But Need Return PlPgSql
List pgsql-sql
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

pgsql-sql by date:

Previous
From: "Victor Yegorov"
Date:
Subject: Re: CASE
Next
From: "2000info"
Date:
Subject: unsubscribe