Stored Procedure

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
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Stored Procedure

Mesaj gönderen SieS »

SP kullanmayı yeni öğreniyorum haliyle eksiklerim çok.
Database üzerinde 2 adet SP oluşturdum çalıştırdım gayet güzel çalışıyor.
Fazak Delphi den IBSP componenti ile çalıştırıyorum veri gelmiyor.
Çalışıtkende hata vermiyor. Ne iştir anayamadım.

Bir diğer sorumda A isimli SP ü B isimli SP içinde kullanabilirmiyim
evetse nasıl küçük bir örnek yeter.

Herkese Teşekkür Ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

iyi çalışmalar.
ibdataset kullanabilirsin.
select * from spadi(:inpu_parametreleri)
işini görür.
sp içinde sp yi normal table çağırıyormuş gibi kullanabilmen lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

sayın aslangeri malesef bundada aynı şey oldu.
başlıklar geliyor ama bilgiler gelmiyor.
kesin basit bir hata yapıyorum ama ne
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

basliklar geliyor ise stored procedure calisiyor demektir. Verilerin gelmemesinin verdiginiz parametrelerle ilgisi olabilir belki. Mesela parametreleri dikkate almayacak sekilde SP'u degistirdiginizde veriler de gelmeli diye dusunuyorum. Ya da where kriterleri butun veriyi filtreliyor olabilir....

trigger'dan SP cagirma su sekilde oluyor ama SP icinden denememekle birlikte hem bu sekilde hem de aslanger'nin de soyledigi gibi bir tablo imiscesine kullanabilmeniz lazim....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

eğer yazdığın sp yin gönderebilirsen problemin ne olduğu konusunda daha fazla yardımcı olabiriz.
fahrettin beyin dediği gibi where ifadenide kontrol et vs.

iyi çalışmalar
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Birinci Procedure
SET TERM ^^ ;
CREATE PROCEDURE MUSTERI_SIPARIS_DETAYI (MUSTERI_KOD VarChar(10) CHARACTER SET WIN1254, TORBA_KOD VarChar(10) CHARACTER SET WIN1254) returns (SIPARIS_ADET Double Precision, SIPARIS_NO Double Precision, SIPARIS_TARIHI TimeStamp) AS
begin
for SELECT S_NO,S_TARIH,S_MIKTAR FROM SIPARIS
WHERE (M_KOD = :MUSTERI_KOD) AND (M_TORBA = :TORBA_KOD)
INTO SIPARIS_NO,SIPARIS_TARIHI,SIPARIS_ADET
DO
BEGIN
SUSPEND;
END

İkinici Procedure

SET TERM ^^ ;
CREATE PROCEDURE URETIM_AL (S_NO Double Precision) returns (URETIM_ADET Double Precision) AS
begin
SELECT SUM(DEGER) FROM MDATA1 WHERE (SIPARIS = :S_NO) AND (GRUPKODU = '01') INTO URETIM_ADET ;

end
^^
SET TERM ; ^^

Kullandığım procedureler bunlar direka databaseworkbench üzerinden denediğimde sorunsuz çalışıyor değerleride dönderiyor.
Selamlar Kolay Gelsin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Delphi tarafindan denerken SP icindeki where kısımlarını y kaldırarak ya da degiskenler yerine sabit rakamlar yazarak bir deneyin (where (M_KOD=5) and M_TORBA=12) gibi..... ) boylece Delphi 'den parametre atamayi sorunsuz yapip yapamadıgımızı anlayabiliriz. Sahsi kanaatim sorun oradan kaynaklanıyor olabilir.... DB tarafinda sorunsuz calisiyor ise akla gelen iki ihtimal var. Ya dogru parametreler DB tarafina gecmiyor. Ya da gelen sonuclari gosterdiginiz dataset uzerinde filtre filan var ve sonuclari filtreleyip gostermiyor.....
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Fahrettin bey teşekkür ederim.
Muhtemelen dediğiniz gibi heralde SP leri sildim yeniden oluşturdum.
Şak diye çalıştı nerde ne hata vardı anlayamadım ama sonuçda çalıştırmayı becerdim.
İlgilnenen herkese teşekkür ederim.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

calismasina sevindim.

Ayrica olumlu sonucu bizimle paylastiginiz icin de tesekkurler.....
Cevapla