Stored Procedure
Stored Procedure
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.
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.
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....
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....
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.
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.
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.....