Ne yazık ki olmuyor.Büyün satırlara aynı değeri atıyor.
Aslında bu Udf ile yapılabilir gibi geliyor.
Rfunc Udf de IncDate.bunun benzeri bir Udf ile kolay yapılabilir.Ama onu da bulamadım...
Tek SQL cümlesi içinde nasıl yapılır bilmiyorum ama aklıma gelen tek yöntem bu işlem için bir generator oluşturmak (örneğin GEN_REC_NO) ve onun değerini bu sql'i çalıştırmadan önce 0 yapmak.
Başka veritabanlarında number, identity tarzı fonksiyonlarla satır numarası alınabiliyor. Firebird'de sanırım böyle bir fonksiyon yok ama zorlayarak bu şekle getirilebilir. Aklıma 2 yol geliyor ama boş yere uğraşmaya da gerek yok.
Delphi tarafında i = i + 1 gibi bir şekilde yazsanız daha kolay olur.
CREATE PROCEDURE PROC_ACTIONS
RETURNS (
KOD VARCHAR(20),
ADI VARCHAR(50),
ARAC_NO INTEGER,
SIRA INTEGER)
AS
BEGIN
SIRA = 1;
FOR
SELECT
Kod,
Adi,
Arac_No,
FROM HAREKET_TABLOSU
INTO :KOD,
:ADI,
:ARAC_NO;
BEGIN
SIRA = SIRA+1;
SUSPEND;
END
END
onaydin yazdı:Başka veritabanlarında number, identity tarzı fonksiyonlarla satır numarası alınabiliyor. Firebird'de sanırım böyle bir fonksiyon yok ama zorlayarak bu şekle getirilebilir. Aklıma 2 yol geliyor ama boş yere uğraşmaya da gerek yok.
Delphi tarafında i = i + 1 gibi bir şekilde yazsanız daha kolay olur.
Sql server da bu numarayı barından değişkenin ismi nedir?
CREATE PROCEDURE PROC_ACTIONS
RETURNS (
KOD VARCHAR(20),
ADI VARCHAR(50),
ARAC_NO INTEGER,
SIRA INTEGER)
AS
BEGIN
SIRA = 1;
FOR
SELECT
Kod,
Adi,
Arac_No,
FROM HAREKET_TABLOSU
INTO :KOD,
:ADI,
:ARAC_NO;
BEGIN
SIRA = SIRA+1;
SUSPEND;
END
END
Benimde bölyle bir şeye ihtiyacım olmuştu. Delphi tarafında Query'i içerisinde calculated bir alan oluşturdum mesela sayi.oncalculated cısmında ibQuery1sayi.asinteger:=ibQuery1sayi.asinteger+1; demiştim olmuştu.
başarılar