Farklı bir SQL Parametresi kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Farklı bir SQL Parametresi kullanımı

Mesaj gönderen MehmetZahit »

Kod: Tümünü seç

Select Ornekfield, select (..... from ..... where year(tarih) = 2008) as ....,
                                 select (..... from ..... where year(tarih) = 2008) as ....,
      from .....


gibi alt sorgulardan oluşan bir SQL yapısı içinde 2008 gördüğümüz yerlere parametre vermek istiyorum fakat bu parametreyi tek bir seferde vermek mümkün mü? Mesela sorgunun üst kısmında sabit bir değişkene atayıp, sorgunun diğer kısımlarında kullanılabilirmi?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Farklı bir SQL Parametresi kullanımı

Mesaj gönderen sabanakman »

Soru yanlış başlıkta sorulmuş veya eksik. En önemli mesele, sorgu hangi veritabanında yazılacağıdır. Mesela SQL Server için aşağıdaki gibi bir teknik kullanmak mümkündür.

Kod: Tümünü seç

declare @Yil int
set @Yil=2008
Select Ornekfield, select (..... from ..... where year(tarih) = @Yil) as ....,
                                 select (..... from ..... where year(tarih) = @Yil) as ....,
      from .....
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: Farklı bir SQL Parametresi kullanımı

Mesaj gönderen MehmetZahit »

sabanakman yazdı:Soru yanlış başlıkta sorulmuş veya eksik. En önemli mesele, sorgu hangi veritabanında yazılacağıdır. Mesela SQL Server için aşağıdaki gibi bir teknik kullanmak mümkündür.

Kod: Tümünü seç

declare @Yil int
set @Yil=2008
Select Ornekfield, select (..... from ..... where year(tarih) = @Yil) as ....,
                                 select (..... from ..... where year(tarih) = @Yil) as ....,
      from .....
hocam sağolasın, sqlserver kullanıyorum, bu şekilde deneyince oluyor fakat

Kod: Tümünü seç

declare @Yil int
set @yil = :param1 
şeklinde sabit değere parametre atayıp, sql cümlesinin her yerinde kullanabilmek istiyorum, "Parametre nesnesi hatalı tanımlanmış" hata mesajını veriyor.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Farklı bir SQL Parametresi kullanımı

Mesaj gönderen sabanakman »

Ben bu şekilde ADOQuery ile istediğim şekilde çalıştırdım ama önce QDOQuery'nin Parameters özelliğinden parametre tipini Integer yaptım.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: Farklı bir SQL Parametresi kullanımı

Mesaj gönderen Hakan Can »

Şu örnek SQL cümlesinden faydalanabilirsin:

Kod: Tümünü seç

SELECT
  T1.BUTCE_KODU,
  T1.URUN_KODU,
  (SELECT T2.ADI FROM URUN T2 WHERE T2.BUTCE_KODU = T1.BUTCE_KODU AND T2.URUN_KODU = T1.URUN_KODU AND T2.ACILIS_STOGU > T3.DEGER) AS ADI
FROM NET_MIKTAR T1
  LEFT JOIN
   (SELECT 0 AS DEGER) T3 ON 1 = 1
Burada T3.DEGER alanını SQL cümlesinde heryerde kullanabilirsin. Yerine YIL düşünmelisin.
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: Farklı bir SQL Parametresi kullanımı

Mesaj gönderen MehmetZahit »

sabanakman yazdı:Ben bu şekilde ADOQuery ile istediğim şekilde çalıştırdım ama önce QDOQuery'nin Parameters özelliğinden parametre tipini Integer yaptım.
Sorun buymuş, tekrar sağolasın hocam. hakancan hocanın çözümüde SQL kullanımına ilginç bir örnek. Denemede fayda var.
Cevapla