Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
String Parameter in Sql Where Clause
#1
Merhaba Arkadaşlar,

declare @stringfilter nvarchar(max)
     SELECT 
@REF1=REF1,

FROM FATURA F 
where Faturano=@fatno and @stringfilter


bir table valued function icinde bir tabloyu dolduran sorgum var o sorguda where clause icinde dışardan gelen bir filtreleme koşulunu eklemek istiyorum yukarda örnek verdim . İlk başta EXEC sys.sp_executesql ile stringi exec edip değerlerimi alayım dedim function icinde exec kullanılamyor sanırım yapamadım.

Sizce nasıl bir yol izlemeliyim ?
Cevapla
#2
@HuseyinF Benim önerim FunctionTable yerine imkanın varsa StoreProcedure kullan ve dinamik parametreni burda oluşturup çalıştır.

DECLARE @strSorgu AS NVARCHAR(Max)
SET @strSorgu = 'SELECT * from XXX Where ........'

Execute sp_Executesql @strSorgu
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
(04-10-2019, Saat: 10:46)adelphiforumz Adlı Kullanıcıdan Alıntı: @HuseyinF Benim önerim FunctionTable yerine imkanın varsa StoreProcedure kullan ve dinamik parametreni burda oluşturup çalıştır.

DECLARE @strSorgu AS NVARCHAR(Max)
SET @strSorgu = 'SELECT * from XXX Where ........'

Execute sp_Executesql @strSorgu

@adelphiforumz  teşekkür ederim sp ye dönüştürdüm. Function icinde Execute sp_Executesql @strSorgu  ile sonuclarımı döndürmek istediğimde "only functions and some extended stored procedures can be executed from within a function" hatasını bir türlü aşamadım Smile
Cevapla
#4
(04-10-2019, Saat: 14:27)HuseyinF Adlı Kullanıcıdan Alıntı:
(04-10-2019, Saat: 10:46)adelphiforumz Adlı Kullanıcıdan Alıntı: @HuseyinF Benim önerim FunctionTable yerine imkanın varsa StoreProcedure kullan ve dinamik parametreni burda oluşturup çalıştır.

DECLARE @strSorgu AS NVARCHAR(Max)
SET @strSorgu = 'SELECT * from XXX Where ........'

Execute sp_Executesql @strSorgu

@adelphiforumz  teşekkür ederim sp ye dönüştürdüm. Function icinde Execute sp_Executesql @strSorgu  ile sonuclarımı döndürmek istediğimde "only functions and some extended stored procedures can be executed from within a function" hatasını bir türlü aşamadım Smile

StoreProcedure ile Return verisi nasıl aldınız.

DECLARE @return_status float;  
EXEC @return_status = [dbo].[xxxxxxxx] '2019','1'
SELECT 'DEGER' = @return_status;

Gibi alabiliryorum ama tek satırda nasıl alabilir.
Cevapla
#5
(02-04-2020, Saat: 21:23)elixir84 Adlı Kullanıcıdan Alıntı:
(04-10-2019, Saat: 14:27)HuseyinF Adlı Kullanıcıdan Alıntı: @adelphiforumz  teşekkür ederim sp ye dönüştürdüm. Function icinde Execute sp_Executesql @strSorgu  ile sonuclarımı döndürmek istediğimde "only functions and some extended stored procedures can be executed from within a function" hatasını bir türlü aşamadım Smile

StoreProcedure ile Return verisi nasıl aldınız.

DECLARE @return_status float;  
EXEC @return_status = [dbo].[xxxxxxxx] '2019','1'
SELECT 'DEGER' = @return_status;

Gibi alabiliryorum ama tek satırda nasıl alabilir.

Merhaba konunun uzerınden gecmıs ama cozum olması maksadıyla soyle yapılır. StoreProcedur'den dısarı sonuc aktarma için out parametresıyle değşken tanımlayarak sonucu dısarı alırız.

CREATE PROCEDURE dbo.procedure1(@return_status float out)

AS
BEGIN
 
  EXEC @return_status = [dbo].[xxxxxxxx] '2019','1'

END
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ( Kapandı ) Sql sorgu da string alana göre sıralama cinarbil 9 2.034 31-08-2024, Saat: 14:12
Son Yorum: cinarbil
  String içinde karakter arama barissagir 3 1.948 07-02-2024, Saat: 17:57
Son Yorum: RAD Coder
  String tarih ve saat alanını birleştirme kullanma cinarbil 9 12.389 22-08-2019, Saat: 00:25
Son Yorum: serdar
  Missing Connection or Connection String (BAĞLANTI HATASI) harezmi 20 18.093 31-05-2019, Saat: 14:09
Son Yorum: adelphiforumz
  String Too Long harezmi 6 5.937 07-05-2019, Saat: 21:02
Son Yorum: harezmi



Konuyu Okuyanlar: 1 Ziyaretçi