Merhaba arkadaşlar. Bir tablodan seçtiğim kritere göre diğer bir tabloya basitçe bir aktarma sp yazdım , tamam fakat sonunda çıkış değeri olarak kaç kayıt aktarılmış onu almak istiyorum. Hiç bulunamamışsa 0 gelecek.
Bir diğer sorunum da TIBTable kullandığımda recordcount doğru değer veremiyor. Ancak tablo sonuna table1.last ile gidip bu değeri alabiliyorum. Bunun başka bir yolu varmı?
Aktarma Stored Proc
Re: Aktarma Stored Proc
SP içindeki aktarım metodu döngü ise bir sayaç değişkeni kullanıp bunu return yapın veya post event ile alın.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Aktarma Stored Proc
SQL Server üzerinde sorgunun hemen ardından @@RowCount isminde sistem değişkeni üzerinden bu değer direkt elde edilebilmektedir. Pek araştırma imkanım bulnmamakla beraber benzeri bir değişken FireBird içinde de bulunabilir belki.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Aktarma Stored Proc
SP de aktarma işinde For select ... kullanıp döngü içinde bir değişkeni saydıraraka hallettim. Ancak aynı SP içinde bir de işlemi ters yaptıran silme işlemi var. Bunda döngü olmadan sadece direkt delete from tablo ........ şeklinde yapıyorum. işte onun ardından kaç kayıt silinmiş bilmem gerek.
Re: Aktarma Stored Proc
Silme işlemini de aynı şekilde yapacasınız. Ör:
Kod: Tümünü seç
for select ... from tablo where ... into :.... as cursor CR do
begin
if a = b then
begin
delete from tablo where current of CR;
s = s +1;
end
end
Re: Aktarma Stored Proc
Teşekürler @anemon. Ben de öyle döngü ile silmeyi düşündüm de. Mantığıma uymadı. Çünkü silerken diğer ana tablodan bilgi çekmeye ihtiyacım yok. sadece silinecek tablodan ayıklayıp silecek.. Bir de silinecek kayıt sayısı çokça olduğu için (5 10 bin civarı) döngü ile yaptırmak makinaya gereksiz yük bindirmek demek ve zamanı da uzatıyor. delphide query ile yaptığımızda query.affectedrows kullanıyordum kolaydı.. SP de de böyle bir ifade olmalı diye düşündüm.
Re: Aktarma Stored Proc
Aynı SP içinde silme işleminden önce silinecek kayıt sayısını Select Count(ID) from table where SilmeKriteri into :SilinenKayitSayisi şeklinde bir değişkene alıp daha sonra silme işlemini yaptırır. Ardından SilinenKayitSayisi değişkenini return edersin.