Procedure Yaratmada sorun
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Procedure Yaratmada sorun
Selam bir Database uygulaması yapmaktayım.ZeosLib 6.6 ,FireBird 2.0 kullanmaktayım. Yeni şirket oluşturma sırasında SQL cümleciklerini arka arkaya çalıştırarak datayı yaratıyorum. Buraya kadar bir problem yok. bir adet Procedure var ve bu Procedure yeni database içinde yaratmaya çalıştığımda hata dönüyor. Aslında Procedure IB EXpert'te Yaratılıyor ve datadada kullanabiliyorum.Tahminim Procedure içinde Cursor tanımlaması var ve bunlardan dolayı hata veriyor. Zeos Componentini Firebird 2.0 olarak ayarlıyorum ama yine olmuyor. Bu Procedure'yi nasıl Query'le nasıl yaratabilirim .
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Sadece o Procedure yaratmak için egerekli kodu bile gönderdim ama nafile Query den gönderdiğim kod yaratılmıyor. ama aynı kod IBEXPERT'ten çalıştırdığımda kod çalışıyor ve Precedure yaratılmış oluyor Kod ise bu ama kodda herhangi bir hata yok çünkü IBEXPERT'te yarattıktan sonra kullanabiliyorum
Kod: Tümünü seç
CREATE PROCEDURE CARIBAKIYEBUL (
carikod varchar(15),
trh date,
inckeyno integer)
returns (
bakiye double precision)
as
declare variable gunbakiye double precision;
declare variable geribakiye double precision;
declare variable tmpbak double precision;
declare variable tmpinc integer;
declare bakiye_cur cursor for (select (borc - alacak), key_no from carihar
where (cari_kod = :carikod and
(tarih < (:trh + 1))
and (tarih > (:trh - 1)))
order by tarih, key_no);
begin
SELECT SUM(BORC - ALACAK) FROM CARIHAR
WHERE (CARI_KOD = :CARIKOD AND TARIH < :TRH)
INTO :GERIBAKIYE;
GUNBAKIYE = 0.0;
OPEN BAKIYE_CUR;
FETCH BAKIYE_CUR INTO :TMPBAK, :TMPINC;
WHILE (TMPINC <> :INCKEYNO) DO --((FETCH_STATUS <> -1) AND
BEGIN
GUNBAKIYE = GUNBAKIYE + TMPBAK;
FETCH BAKIYE_CUR INTO :TMPBAK, :TMPINC;
END
CLOSE BAKIYE_CUR;
-- DEALLOCATE BAKIYE_CUR;
IF (GERIBAKIYE is NULL) THEN GERIBAKIYE = 0;
IF (GUNBAKIYE IS NULL) THEN GUNBAKIYE = 0;
BAKIYE = GERIBAKIYE +GUNBAKIYE;
suspend;
end
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir