ERROR: unexpected SELECT query in exec_stmt_execsql()

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';

Browse pgsql-sql by date

  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