Procedure sonu vermiyor

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Procedure sonu vermiyor

Mesaj gönderen serbek_tr »

Merhaba arkadaşlar, aşağıdaki kodda yanlış olan ne hata yok ama çalışıyor ama işlem gerçekleşmiyor, amaç OGRENCI_BILGI TABLOSUNDA NE VARSA OGRENCI_BILGI_SECIM tablosuna aktarmak.
Şu işi halledebilsem kriterlere göre yapıcam ama olmuyor... Yardımlarınızı bekliyorum

Kod: Tümünü seç

CREATE PROCEDURE TUMUNU_SEC
AS
DECLARE VARIABLE YID BIGINT;
DECLARE VARIABLE YOGRENCI_NO VARCHAR(15) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YAD VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YSOYAD VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YFAKULTE VARCHAR(100) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YBOLUM VARCHAR(100) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YSINAV_ADI VARCHAR(100) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YSINAV_TARIHI DATE;
DECLARE VARIABLE YSALON VARCHAR(100) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YSIRA VARCHAR(100) CHARACTER SET WIN1254 COLLATE PXW_TURK;
DECLARE VARIABLE YSEC SMALLINT;
BEGIN
 
  
   
  
 FOR        
   SELECT ID,OGRENCI_NO, AD, SOYAD, FAKULTE, BOLUM, SINAV_ADI,  SALON, SIRA, SEC
   FROM   OGRENCI_BILGI  
   INTO :yID,:yOGRENCI_NO,:yAD,:ySOYAD,:yFAKULTE,:yBOLUM,:ySINAV_ADI,:ySALON,:ySIRA,:ySEC
       
 DO
 BEGIN
   
   INSERT INTO OGRENCI_BILGI_SECIM
   (ID, OGRENCI_NO, AD, SOYAD, FAKULTE, BOLUM, SINAV_ADI,  SALON, SIRA)
   VALUES
   (:yID,:yOGRENCI_NO,:yAD,:ySOYAD,:yFAKULTE,:yBOLUM,:ySINAV_ADI,:ySALON,:ySIRA) ;
 END

 SUSPEND;     

END
procedure çalıştığında işlem mesajı aynen şu "Executed OK, 0 rows affected (31 ms)"
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Procedure sonu vermiyor

Mesaj gönderen serbek_tr »

Birşey fark ettim, bu procedurumu kod satırından çağırınca sonuş işlemiyor, EmsSQl Manager dan proceduru çalıştırdığımda yanı sorun ama Firebird Maestro sonuçları işliyor sıkıntı ne olabilir
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Procedure sonu vermiyor

Mesaj gönderen serbek_tr »

Programda FIBPuls StoredProc kullanarak çalıştırdığımda procedure işe yaradı. Sorunumu çözdüm ancak neden böyle olduğuna dair fikri olan varsa paylaşırsa sevinirim.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Procedure sonu vermiyor

Mesaj gönderen Kuri_YJ »

Selamlar,

Sorunsuz çalışır. Sıkıntı şu ki, siz Procedure'de geriye değer döndürecek diyorsunuz (SUSPEND) ile ama değer döndürmüyorsunuz. Procedure'ünüzün mantığında hata var. SUSPEND, eğer procedure'ünüzden bir değer döndürecekseniz kullanmalısınız. Aksi halde SUSPEND'e gerek yok.

SUSPEND'i kaldırıp çalıştırın bakalım ne olacak ;)

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla