From: | "Ismail Kizir" <ikizir(at)teklan(dot)com(dot)tr> |
---|---|
To: | <pgsql-sql(at)postgreSQL(dot)org> |
Subject: | ERROR: unexpected SELECT query in exec_stmt_execsql() |
Date: | 1999-10-13 07:20:34 |
Message-ID: | 001501bf154b$ab9eba20$5500aec3@kaplan |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi all,
I had the error message in subject when i ran first time the function below.
Can someone explain me what does it mean and what i must do to avoid it?
Thanks in advance.
Regards
Ismail Kizir
CREATE FUNCTION fOdemesiGereken (bpchar, int2, int2,boolean) RETURNS float8
AS '
DECLARE
pOkulNo ALIAS FOR $1; -- Okul numarası
pYil ALIAS FOR $2; -- Yil
pDonem ALIAS FOR $3; -- Dönem
-- Borçlandırılan dönem 1. dnm. ise ve öğrenci krediye başvurmuşsa
borçlandırılmaz
pKrdBasvuraniBorclandirma ALIAS FOR $4;
tmpint int2;
IkiliOkuyor boolean;
Sonuc float8;
tmpfloat float8;
OgrRec ogrkutuk%ROWTYPE;
BEGIN
SELECT * INTO OgrRec from ogrkutuk WHERE okulno = pOkulNo;
IF NOT FOUND THEN
RAISE EXCEPTION \'Öğrenci bulunamadı. No : % \', pOkulNo;
END IF;
-- Kayıt donduran öğrenci o yıl ve dönem için harç ödemez
SELECT yil FROM KayitDon INTO tmpint WHERE okulno = pOkulNo AND yil = pYil
AND donem = pdonem;
IF FOUND THEN
return 0.0;
END IF;
-- Öğrenci ikili öğretimde okuyorsa,
IF OgrRec.OgrenimTipi = 1 THEN
SELECT yil FROM IlkYuzdeOn INTO tmpint WHERE okulno = pOkulNo AND yil =
pYil;
-- İlk yüzde ona girdiğinden dolayı normal harç mı ödeyecek?
IF NOT FOUND THEN
SELECT IkiliHarc FROM fakdetay INTO sonuc WHERE FBKODU =
OgrRec.FbKodu;
IF NOT FOUND THEN
RAISE EXCEPTION \' % kodlu fakültenin % yılına ait harç bilgisi
bulunamadı\', OgrRec.FbKodu, pYil;
END IF;
IkiliOkuyor := TRUE;
ELSE
IkiliOkuyor := FALSE;
SELECT OrgunHarc FROM fakdetay INTO sonuc WHERE FBKODU =
OgrRec.FbKodu;
IF NOT FOUND THEN
RAISE EXCEPTION \' % kodlu fakültenin % yılına ait harç bilgisi
bulunamadı\', OgrRec.FbKodu, pYil;
END IF;
END IF;
END IF;
-- Öğrenci daha önce bir üniversite bitirmiş ise iki katı harç öder
IF OgrRec.IkinciUniversite THEN
Sonuc := Sonuc * 2.0;
END IF;
-- Eğer yabancı dilde öğrenim görüyorsa
-- İkili öğrenimde 1.5
-- Örgün öğrenimde 2 katı harç öder
IF OgrRec.YabanciDil THEN
IF IkiliOkuyor THEN
Sonuc := Sonuc * 1.5;
ELSE
Sonuc := Sonuc * 2.0;
END IF;
END IF;
-- Eğer yabancı uyruklu ise,
IF (OgrRec.Uyruk <> 2425) AND (NOT OgrRec.IkiliAnlasma) THEN
IF pDonem = 1 THEN
IF IkiliOkuyor THEN
Sonuc := Sonuc * 2.0; -- 2. Öğretimde iki katı
ELSE
Sonuc := Sonuc * 3.0; -- Örgün Öğretimde üç katı
END IF;
ELSE
return 0.0; -- Yabancı uyruklular ikinci dönemde harç ödemez
END IF;
ELSE
Sonuc := Sonuc / 2.0; -- Türk uyruklular harcı iki eşit taksitte öder
END IF;
-- Normal süresinde bitiremeyenler ilk yıl %50 daha sonra %100 zam öder
IF NOT (OgrRec.YElliZamBas ISNULL) THEN
IF pYil = OgrRec.YElliZamBas THEN
Sonuc := Sonuc * 1.5;
ELSE
IF pYil > OgrRec.YElliZamBas THEN
Sonuc := Sonuc * 2.0;
END IF;
END IF;
END IF;
-- Eğer pKrdBasvuraniBorclandirma parametresi TRUE ise,
IF pKrdBasvuraniBorclandirma THEN
SELECT yil FROM KrediBasvuru INTO tempint WHERE OkulNo = pOkulNo AND Yil
= pYil;
IF NOT FOUND
return Sonuc;
ELSE
IF pDonem = 1 THEN
return 0.0;
END IF;
return Sonuc * 2;
END IF;
END IF;
return Sonuc;
END;
' LANGUAGE 'plpgsql';
From | Date | Subject | |
---|---|---|---|
Next Message | Herouth Maoz | 1999-10-13 14:23:02 | Re: [SQL] Money variable |
Previous Message | Jim Seach | 1999-10-13 02:09:41 | Re: [SQL] Converting column values on a select |