SP lerde Döngüler

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ı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

SP lerde Döngüler

Mesaj gönderen husonet »

S.A.

Arkadaşlar Delphi de yazdığım bir kaç fonksiyonu SP haline dönüştürüp trigerlarda kullanmak istiyorum. Fakat Sp lerde Döngü Syntaxlarını bir türlü çözemedim. Sp lerde Döngüyü nasıl kullanabilirim Syntax ları hakkında bilgi verirseniz sevinirim.

Veritabanım : Firebird 1.5

İyi Akşamlar.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

SP ve trigerlarda if şartının syntaxı

Kod: Tümünü seç

IF <şart> THEN
<ifade>;
ELSE
<ifade>;
While Dögüsü

Kod: Tümünü seç

WHILE  <şart> DO
<ifade>;
İfadeler begin end blokları arasınada alınabilir.

Ama halen For döngüsünü çözemedim uğraşılarım sürüyor :roll:

İyi Akşamlar.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

FOR dongusu diye bir sey yok onun yerine sırasıyla verdigin select cumlesinden kayıt ceken FOR SELECT yapısı mevcut
daha onceki mesajlarda bahsedildi, eger bir recordset (kayıt kumesi) dondurmen gerekiyorsa kullanman gerekiyor.
genel yapısı

Kod: Tümünü seç

FOR SELECT bla.bla. FROM bla.bla. INTO :bla.bla DO
BEGIN
  SUSPEND;
END;
seklinde
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Gökmen Hocam Teşekkür Ederim.

Birde kafama takılan bir başka konuda delphide kullandığımız bazı fonksiyonları SP veya TRIGGER ile nasıl kullandığımız hakkında mesala Delphi de length fonksiyonunu SP de nasıl kullanabiliriz :?: veya kullanabilirmiyiz :?:

Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

bunlar hazır olarak yok ama udf (user defined function) halinde eklenebiliyor
aslında standart dll fonksiyonlarından baska bir sey degil
istersen kendi udf lerini de olusturabilirsin
basit bir dll yazıp bunu FireBird udf dizinine atıp
FireBirde tanıttıktan sonra select icinde direkt kullanabilirsin
bunun yanında firebird udf dizininde hazır bir udf library mevcut
fbudf.dll ve fbudf.sql diye iki dosya var
sql i execute edince bu fonk ları ekliyor.
tek dezavantajı gdb(yada fdb) dosyası ile bu udf dll'i de tasımak
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hımm anladım bu fonksiyonların bazıları IbExpert i kurcalarken var gibi gelmişti :?: Demekki yokmuş o zaman en mantıklısı DLL hazırlayıp eklemek.

Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

hazırlamana da gerek yok baktım ib_udf.dll icinde strlen diye bir fonk mevcut
ib_udf.sql i calıstır kendisi ekliyor
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hocam Saçmaladığımı düşünüceksiniz :( ib_udf.sql dosyasını çalıştırma işlemini nasıl yapacam :roll: .

Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ibexpertte Tools ta Script Executive menusunde Ctrl-F12
burada load ile sql dosyayı yukle calıstır
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Gökmen Hocam dediklerinizi yaptım. Yanlız problemim sürüyor.

Kod: Tümünü seç

begin
  d = length(no);
  suspend;
end
Hocam SP de no stringinin uzunluğunu almaya çalışıyorum bir türlü başaramadım acaba syntax ım doğrumu ?

Yardımlarınızdan ve Sabrınızdan dolayı teşekkür ederim.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

fonksiyon ismi srtlen idi sanırım

Kod: Tümünü seç

CREATE PROCEDURE NEW_PROCEDURE (
    ID INTEGER)
RETURNS (
    ADI VARCHAR(10))
AS
DECLARE VARIABLE MYVAL INTEGER;
BEGIN
  FOR
  SELECT URUN.ADI FROM URUN WHERE URUN.ID=:ID INTO :ADI DO
  BEGIN
    MYVAL=STRLEN(ADI);
    SUSPEND;
  END
END
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hocam Teşekkürler Olay Anlaşılmıştır.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla