StoredProc Parametreli Kullanımı

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
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

StoredProc Parametreli Kullanımı

Mesaj gönderen Uğur1982 »

Merhaba ;

Arkadaşlar aşağıdaki gibi storedproc oluşturdum.amacım karışık bir sql sorgusu sonucunda kişinin toplam tutarını bulmak.
asıl sorunumda storedproc daki DENESQL giriş parametresinin çalışmadığı yada nasıl ekleneceği yada böyle birşey varmı?

ayrıca tarihleri de parametre olarak gönder diyebilirsiniz.Yaptığım sorguda tarih alanları boş ise DENESQL paremetreside stored proc içinde
işleme alınmayacak,derlenmeyecek..yada başka bir çözümü varmı.

DENESQL e giden parametre olarak SQLText i gönderiyorum.

m1.text,m2.text= //maskedit

SQLText:='tarih >= "'+m1.text+'" and tarih <= "'+m2.Text+'" ';

Aşağıdaki Stored proc da hatalar olabilir.belitirseniz sevinirim.
storedproc için biraz yeniyim 8)

Kod: Tümünü seç

CREATE PROCEDURE SP_HIZLIMUSTAHSIL_SUM_TUTAR (
    KODU VARCHAR(15),
    STOKKOD VARCHAR(15),
    DENESQL VARCHAR(110))
RETURNS (
    SUMTUTAR DOUBLE PRECISION)
AS
begin
  for select
  SUM(stokhareket.tutar) from stokhareket where stokhareket.kod=:KODU
  and stokhareket.skod=:STOKKOD and DENESQL and stokhareket.bag='E' into: SUMTUTAR
  do
  suspend;
  end
vt:firebird
Teşekkürler.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Kod: Tümünü seç

begin
  for select
  SUM(stokhareket.tutar) from stokhareket where stokhareket.kod=:KODU
  and stokhareket.skod=:STOKKOD and || :DENESQL || and stokhareket.bag='E' into: SUMTUTAR
  do
  suspend;
end
|| operatoru string birlestirme operatorudur.
ayrıca degiskenleri basına : isareti koyarak kullanın
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

.... and DENESQL and ....
DENESQL parametresi/değişkeni select içinde tek başına kullanılamaz! Bir değer veya field/alan ile karşılaştırılmalı :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

Merhaba;

Evet o eksikliği bakınca gördüm DENESQL paremetresinin son halini
göndermem lazım.

gkimirti,rsimsek hocam teşekkürler.
Cevapla