Unix Technical Forum

why oh why procedure

This is a discussion on why oh why procedure within the pgsql Admins forums, part of the PostgreSQL category; --> Hi all.... I want to create store procedure and the sql is CREATE PROCEDURE CARI_DATA (NIM VARCHAR(10), TAHUNAJARAN VARCHAR(4), ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Admins

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-10-2008, 01:46 AM
dedy
 
Posts: n/a
Default why oh why procedure

Hi all....
I want to create store procedure and the sql is

CREATE PROCEDURE CARI_DATA
(NIM VARCHAR(10),
TAHUNAJARAN VARCHAR(4),
KD_MSUJI VARCHAR(2),
BEBAN SMALLINT,
JENJANG VARCHAR(3))
RETURNS (
KDMK_JUR VARCHAR(12),
NM_MKULIAH VARCHAR(25),
SKS SMALLINT,
BAYAR DOUBLE PRECISION,
KELAS VARCHAR(2),
JENJANG VARCHAR(3))
AS
BEGIN
SELECT T_MATAKULIAH.KDMK_JUR,
T_MATAKULIAH.NM_MKULIAH,
T_MATAKULIAH.SKS,
(CAST(T_MATAKULIAH.TARIP AS DOUBLE PRECISION)) AS bayar,
KRS_.KELAS,
UANG_SKS.JENJANG
FROM T_MATAKULIAH INNER JOIN (T_MAHASISWA INNER JOIN KRS_ ON
T_MAHASISWA.NIM = KRS_.NIM) ON T_MATAKULIAH.KDMK_PUS = KRS_.KDMK_PUS
INNER JOIN UANG_SKS ON T_MAHASISWA.ANGKATAN = UANG_SKS.ANGKATAN
WHERE
(((KRS_.NIM)= :nim) AND
((KRS_.TAHUNAJARAN)= :tahunajaran)AND
((KRS_.KD_MSUJI)= :kd_msuji) AND
((T_MATAKULIAH.BEBAN)= :beban)) and
((uang_sks.jenjang)= :jenjang)
into :KDMK_JUR, :NM_MKULIAH, :SKS, :BAYAR, :KELAS, :JENJANG
union
SELECT T_MATAKULIAH.KDMK_JUR, T_MATAKULIAH.NM_MKULIAH, T_MATAKULIAH.SKS,
(CAST(SKS*UANGSKS*BEBAN/100 AS DOUBLE PRECISION)) AS bayar,
KRS_.KELAS,
uang_sks.jenjang
FROM T_MATAKULIAH INNER JOIN ((UANG_SKS INNER JOIN T_MAHASISWA ON
UANG_SKS.ANGKATAN = T_MAHASISWA.ANGKATAN) INNER JOIN KRS_ ON
T_MAHASISWA.NIM = KRS_.NIM) ON T_MATAKULIAH.KDMK_PUS = KRS_.KDMK_PUS
WHERE (((KRS_.NIM)= :nim) AND ((KRS_.TAHUNAJARAN)= :tahunajaran)
AND ((KRS_.KD_MSUJI)= :kd_msuji) AND (T_MATAKULIAH.BEBAN) <> :beban) and
((uang_sks.jenjang)= :jenjang)
into :KDMK_JUR, :NM_MKULIAH, :SKS, :BAYAR, :KELAS, :JENJANG
union
SELECT T_MKKHUSUS.KDMK_JUR, T_MKKHUSUS.NM_MKULIAH,T_MKKHUSUS.SKS,
(CAST(BEBANBAYAR*UANGSKS AS DOUBLE PRECISION)) AS bayar, KRS_.KELAS,
UANG_SKS.JENJANG
FROM (T_MATAKULIAH INNER JOIN ((UANG_SKS INNER JOIN T_MAHASISWA ON
UANG_SKS.ANGKATAN = T_MAHASISWA.ANGKATAN) INNER JOIN KRS_ ON
T_MAHASISWA.NIM = KRS_.NIM) ON T_MATAKULIAH.KDMK_PUS = KRS_.KDMK_PUS)
INNER JOIN T_MKKHUSUS ON T_MATAKULIAH.KDMK_PUS = T_MKKHUSUS.KDMK_PUS
WHERE (((KRS_.NIM)= :nim) AND ((KRS_.TAHUNAJARAN)= :tahunajaran)
AND ((KRS_.KD_MSUJI)= :kd_msuji)) and ((uang_sks.jenjang)= :jenjang)
into :KDMK_JUR, :NM_MKULIAH, :SKS, :BAYAR, :KELAS, :JENJANG;
EXIT;
END;

but every time i run it the error message is that union cannot be execute.
is store procedure do not support union??


Thank you
Dedy Styawan


| .
. |L /| .
_ . |\ _| \--+._/| .
/ ||\| Y J ) / |/| ./
J |)'( | ` F`.'/
-<| F __ .-<
| / .-'. `. /-. L___
J \ < \ | | O\|.-'
_J \ .- \/ O | | \ |F
'-F -<_. \ .-' `-' L__
__J _ _. >-' )._. |-'
`-|.' /_. \_| F
/.- . _.<
/' /.' .' `\
/L /' |/ _.-'-\
/'J ___.---'\|
|\ .--' V | `. `
|/`. `-. `._)
/ .-.\
\ ( `\
`.\


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-10-2008, 01:46 AM
Michael Fuhr
 
Posts: n/a
Default Re: why oh why procedure

On Fri, Apr 29, 2005 at 07:48:07AM +0700, dedy wrote:
>
> I want to create store procedure and the sql is
>
> CREATE PROCEDURE CARI_DATA


In PostgreSQL you'll need to use CREATE FUNCTION. See also the
PL/pgSQL documentation to learn its syntax and capabilities. Here
are links to documentation for the latest version:

http://www.postgresql.org/docs/8.0/i...efunction.html
http://www.postgresql.org/docs/8.0/i...e/plpgsql.html

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 12:57 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com