Stored Procedure İle Yeni Alana Veri Çekmek

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
volkancesur
Üye
Mesajlar: 53
Kayıt: 01 Nis 2007 09:47
Konum: DENİZLİ

Stored Procedure İle Yeni Alana Veri Çekmek

Mesaj gönderen volkancesur »

S.A Arkadaşlar;
Beyin bazen randımanlı çalışmıyor bir yerlerde takılıyoruz. Sayenizde akıl akıldan üstündür cümlesinin neticesini alıyoruz.
Sizlere Kısaca projemden ve amacımdan bahsedeyim.
Yukarılarda listelen Gridlerin her biri procedure ile çekilmiştir.
Kodu İse:

Kod: Tümünü seç

CREATE PROCEDURE SP_FIYATANALIZIEVERZOL (
    PURUNADI VARCHAR(80))
RETURNS (
    SN INTEGER,
    URUNADI VARCHAR(80),
    FIRMASN INTEGER,
    TEKLIFTARIHI DATE,
    TEKLIFFIYATI DOUBLE PRECISION,
    PARABIRIMI VARCHAR(80),
    ACIKLAMA VARCHAR(255),
    GECERLIFIYAT INTEGER,
    TEKLIFBELGESI BLOB SUB_TYPE 0 SEGMENT SIZE 80,
    HESAPLA SMALLINT,
    STOK INTEGER)
AS
BEGIN
  FOR SELECT TEKLIF.SN,
             (SELECT URUNADI FROM URUN WHERE SN = TEKLIF.URUNSN),
             TEKLIF.FIRMASN,
             TEKLIF.TEKLIFTARIHI,
             TEKLIF.TEKLIFFIYATI,
             TEKLIF.PARABIRIMI,
             TEKLIF.ACIKLAMA,
             TEKLIF.GECERLIFIYAT,
             TEKLIF.TEKLIFBELGESI,
             TEKLIF.HESAPLA

      FROM TEKLIF  WHERE (SELECT URUNADI FROM URUN WHERE SN = TEKLIF.URUNSN) LIKE 'EVERZOL%'  AND TEKLIF.HESAPLA = 1
      INTO :SN,
           :URUNADI,
           :FIRMASN,
           :TEKLIFTARIHI,
           :TEKLIFFIYATI,
           :PARABIRIMI,
           :ACIKLAMA,
           :GECERLIFIYAT,
           :TEKLIFBELGESI,
           :HESAPLA

  DO
  BEGIN
    SUSPEND;
  END
END
Yukarıdaki gibidir.

Yapmak istediğim şey ise ; Fiyat kısmındaki alana listelerken %5 arttırarak listelemesini sağlamak . Bunun için yeni bir alan açıp yapabilirim ancak sadece procedure ile yapmak istediğimde bu işi beceremedim. Aynı mantığı kullanan arkadaşım varsa bana fikir verebilir mi ?
Şimdiden Teşekkürler

Resim
anemos
Üye
Mesajlar: 111
Kayıt: 02 Nis 2007 07:51
Konum: Sakarya / Hendek

Re: Stored Procedure İle Yeni Alana Veri Çekmek

Mesaj gönderen anemos »

begin-end arasını şu şekilde kullanırsanız istediğiniz olacaktır sanırım.

Kod: Tümünü seç

begin
     tekliffiyati = tekliffiyati * 1.05;
     suspend;
end
volkancesur
Üye
Mesajlar: 53
Kayıt: 01 Nis 2007 09:47
Konum: DENİZLİ

Re: Stored Procedure İle Yeni Alana Veri Çekmek

Mesaj gönderen volkancesur »

Çok Teşekkür Ederim. Bu kodu tek procedure de denemiştim. Çalışmıştı. Diğerlerinede kopyala yapştır deyince "Suspend;" Kodunu yapıştırmamışım hata verince trigger ile çözmeyi düşünüyordum ama şuan sıkıntı yok çok teşekkür ederim. Program için kafada sakin olmak zorunda :( .
Cevapla