stored procedure de (in) komutunu parametre ile kullanmak

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
zero_g
Üye
Mesajlar: 56
Kayıt: 11 Şub 2004 11:52

stored procedure de (in) komutunu parametre ile kullanmak

Mesaj gönderen zero_g »

slm arkadaşlar

benim bir carikod tablem var alanları söyle
carikod_sirket_kod integer
carikod_cari_kodu varchar(10),
carikod_cari_adi varchar(50)i

anahtar alanım carikod_sirket_kod ve carikod_cari_kodu

benim yapmak istediğim 1,3,9 nolu şirket kodlarındaki cari kodların dökümünü almak istiyorum
ve bu kodlar kullanıcı tarafında değiştirilebilir örneğil 5, 7 , 8 olarak veya değişik seçenekler halinde olabilir

bunu aşağıdaki gibi sql cumlesi ile yaparsam çalışıyor

select carikod_sirket_kod ,carikod_cari_kodu , carikod_cari_adi from carikod
where carikod_sirket_kod in (1,3,9)

ama stored procedure kullanmam gerekiyor ve şirket kodlarını parametre olarak göndermem gerekiyor

gelensirketler = 1,2,7 şeklinde değer gönderiyorum

for select carikod_sirket_kod ,carikod_cari_kodu , carikod_cari_adi from carikod
where carikod_sirket_kod in (:gelensirketler)
into :x,:y,:z
do
begin
xxxx
end;

stored procedure içinde bu şekilde kullandığımda hata alıyorum.
çözüm önerinizi bekliyorum
iyi çalışmalar dilerim..
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: stored procedure de (in) komutunu parametre ile kullanmak

Mesaj gönderen emin_as »

Aşagıdaki kod işini görür.
Sorgumla procedureunu çagırırken sorgu degişkeni select carikod_sirket_kod ,carikod_cari_kodu , carikod_cari_adi from carikod
where carikod_sirket_kod in (1,2,3 )
olmalı.

Kod: Tümünü seç

CREATE PROCEDURE Sorgula  (sorgu  VARCHAR(200),  ...
.....
 FOR EXECUTE STATEMENT sorgu 
      into :x, :y, :z
do
begin
  xxxx
end;
......
zero_g
Üye
Mesajlar: 56
Kayıt: 11 Şub 2004 11:52

Re: stored procedure de (in) komutunu parametre ile kullanmak

Mesaj gönderen zero_g »

çok tşk ederim paylaşımın için çok işime yaradı
bu arada yeni birşey daha öğrenmiş oldum .
Cevapla